Work in progress: 181,232 of 181,233 sites checked so far, more every week · updated 2 Nov 2026Missing a blog? Tell us

Top all-time · #5647

N

Nikita Volkov

Personal blog · nikita-volkov.github.io · on HN as nikita-volkovprogramming

Nikita Volkov writes Functional programming debugs you, a personal blog at nikita-volkov.github.io about programming. Since 2014, 14 different Hacker News readers have linked it 21 times, most often “Refinement types in Haskell as a library”. It is still writing: the last post was on 2026-08-04, and you can follow it by feed.

Visit the blog
21mentions?
14HN people?
2014–2026first – last linked?
Links on Hacker News per year · peak 7 in 2015

Too few sampled comments (8) to say how often HN recommends it.?

Why HN links it

HN readers link Nikita Volkov's pages mainly as Haskell references: the refined library for refinement types, a proposal for fixing records, and a guide to state and parsers. Most comments cite them as supporting examples.

Summarised by Claude from a sample of 8 HN comments that link here. Each comment is marked recommending, critical or neutral (citing without judging); how this works.

A blog about Haskell and functional programming

The author on HN?

nikita-volkov · 254 karma · member since 2014

I'm a passionate Haskeller and a non-stopping entrepreneur. You'll find out more about me on my blog: http://nikita-volkov.github.io/

From their public HN profile, which links to this site.

Most-linked posts?

  1. Refinement types in Haskell as a library
    4 people · 4 mentions · first linked 2015-04-27
  2. I think I've solved the Haskell records problem
    3 people · 3 mentions · first linked 2015-01-18
  3. If Haskell were strict, what would the laziness be like?
    2 people · 2 mentions · first linked 2015-05-23
  4. A taste of State: parsers are easy. Translating a decoder from C to Haskell
    2 people · 2 mentions · first linked 2014-11-18
  5. 14-Year Journey Away from ORMs – PGenie, SQL-First Postgres Code Generator
    2 people · 2 mentions · first linked 2026-04-15

What Hacker News says?

  1. Runtime refinements are actually useful for places where you'd have checks anyway. E.g. in Haskell, this library http://nikita-volkov.github.io/refined/ — can be integrated with JSON: https://github.com/myfreeweb/magicbane/blob/7c417504590fc40e... — and you get input validation specified right in the types of your data structures.

    Comment linking /refined/

    on “F* – An ML-like functional programming language aimed at program verification”
  2. Submitted I think I've solved the Haskell records problem as a story · 224 points

    HN discussion
  3. There has been quite a bit of discussion on ghc-devs about fixing records. The most promising approach seems to here: http://nikita-volkov.github.io/record/

    Comment linking /record/

    on “Use Haskell for shell scripting”
  4. Submitted Refinement types in Haskell as a library as a story · 34 points

    HN discussion
  5. The way that the value floats through the system is checked statically, and the program can (and should) be designed so that the value with the appropriate type cannot be constructed unsafely. If you need to statically check the construction of values in Haskell, there are things like refinement types[0]. [0]: http://nikita-volkov.github.io/refined/

    Comment linking /refined/

    on “Why static languages suffer from complexity”
  6. Submitted Announcing the “stm-containers” library as a story · 25 points

    HN discussion
  7. Yes, that's exactly how it works. See this article for an example: http://nikita-volkov.github.io/refined/ The thing is that, instead of redefining everything yourself, you could use a library that provides you with a set of predicates to compose and build the refinement you need. There are also much sophisticated ways to do this, like Liquid Haskell.

    Comment linking /refined/

    on “How many floating-point numbers are in the interval [0,1]?”
  8. Submitted If Haskell were strict, what would the laziness be like? as a story · 15 points

    HN discussion
  9. Here's a follow up post from a different author, that continues on this subject, and also explains some of the benefits of the haskell approach: http://nikita-volkov.github.io/a-taste-of-state-parsers-are-...

    Comment linking /a-taste-of-state-parsers-are-easy/

    on “Why I Love Haskell: An Example”
  10. Submitted Haskell: Announcing the first class records library (2015) as a story · 11 points

    HN discussion
  11. GHC Haskell lets you implement that as a normal library: https://nikita-volkov.github.io/refined/ Hopefully Rust will get type-level numbers and stuff someday :)

    Comment linking /refined/

    on “Ada: a C Developer's Perspective”
  12. Submitted First-class sum- and product-types for Haskell as a story · 3 points

    HN discussion
  13. codygman · 2015-07-14Recommends
    > For a long time I've been looking for a guide to functional programming, applied to common real-world web examples, but still can't find one. http://realworldhaskell.org/ (sometimes code is too old to compile) also good: https://nikita-volkov.github.io/a-taste-of-state-parsers-are... > database queries https://www.fpcomplete.com/school/advanced-haskell/persisten... > performing business logic Give a more specific…

    Comment linking /a-taste-of-state-parsers-are-easy/

    on “Mostly Adequate Guide to Functional Programming in JavaScript”
  14. Submitted A taste of State: parsers are easy. Translating a decoder from C to Haskell as a story · 3 points

    HN discussion
  15. Haskell is not a perfect language - but I don't really agree on the points raised by the author. The things I don't like are: - String vs ByteString vs Text - seriously tired of csing everythin - Lazy by default is fun - but makes everything harder to optimize. What would happen if Haskell were strict? https://nikita-volkov.github.io/if-haskell-were-strict/ - Records are not namespaced - https://nikita-volkov.github…

    Comment linking /record/

    on “Thoughts on Haskell”
  16. Submitted Haskell's modules system has problems with composition as a story · 2 points

    HN discussion
  17. Submitted Pqi: Making Libpq a Choice, Not a Requirement as a story · 1 points

    HN discussion
  18. Submitted 14-Year Journey Away from ORMs – PGenie, SQL-First Postgres Code Generator as a story · 1 points

    HN discussion
  19. Submitted My 14-Year Journey Away from ORMs as a story · 1 points

    HN discussion
  20. Submitted If Haskell were strict, what would the laziness be like? (2015) as a story · 1 points

    HN discussion

Search all of HN for nikita-volkov.github.io

Linked by the same people?