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

Top all-time · #332

C

Conal Elliott

Personal blog · conal.netprogrammingmath

Conal Elliott's personal blog at conal.net covers programming and math. Since 2008, 156 different Hacker News readers have linked it 265 times, most often “The C language is purely functional (2009)”. The last post was in 2013, but the archive is still widely read.

Visit the blog
265mentions?
13recommend?
156HN people?
2008–2026first – last linked?
Links on Hacker News per year · peak 28 in 2018

Sometimes recommended · 13 of 40 sampled comments recommend it?

Why HN links it

HN readers cite conal.net for the 'Compiling to Categories' paper and the 'C language is purely functional' satire. Several recommend it as a way into functional and category-based programming.

Recommended for · 13 comments
Called 'old but gold', 'amusing', 'my favorite' and 'interesting'; one commenter says a paper 'cleared all my doubts'.

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

Most-linked posts?

  1. The C language is purely functional (2009)
    38 people · 46 mentions · first linked 2011-01-01
  2. Compiling to Categories
    9 people · 48 mentions · first linked 2017-05-04
  3. Fran: Functional Reactive Animation (1997)
    9 people · 9 mentions · first linked 2011-08-31
  4. “Everything is a function” in Haskell? (2010)
    7 people · 7 mentions · first linked 2011-08-25
  5. Composing Reactive Animations (1998)
    7 people · 7 mentions · first linked 2012-08-18
  6. Compiling Haskell to Massively Parallel Hardware [pdf]
    6 people · 7 mentions · first linked 2017-05-13
  7. /papers/Eros/
    5 people · 6 mentions · first linked 2011-05-06
  8. Push-pull Functional Reactive Programming (2009)
    5 people · 5 mentions · first linked 2010-07-30
  9. Can functional programming be liberated from the von Neumann paradigm? (2010)
    5 people · 5 mentions · first linked 2014-04-30
  10. The C language is purely functional
    5 people · 5 mentions · first linked 2009-05-20

What Hacker News says?

  1. snaky · 2018-08-23Recommends
    There are some interesting ideas about programmability, like automagically offloading some computation parts to FPGA. http://conal.net/blog/posts/haskell-to-hardware-via-cccs http://conal.net/blog/posts/circuits-as-a-bicartesian-closed... https://github.com/conal/lambda-ccc/blob/master/doc/notes.md

    Comment linking /blog/posts/circuits-as-a-bicartesian-closed-category

    on “Intel Publishes Microcode Patches, No Benchmarking or Comparison Allowed”
  2. Submitted The Simple Essence of Automatic Differentiation [pdf] as a story · 167 points

    HN discussion
  3. goostavos · 2025-02-06Recommends
    Sandy Maguire wrote a fantastic book on the topic: https://leanpub.com/algebra-driven-design You can also checkout the work of Conal Elliott: http://conal.net/

    Comment linking /

    on “Software development topics I've changed my mind on”
  4. Submitted Can functional programming be liberated from the von Neumann paradigm? (2010) as a story · 161 points

    HN discussion
  5. carapace · 2020-12-22Recommends
    I've been playing with Joy (concatinative, combinator-based) and I have to agree. So far everything I've translated into Joy has been more elegant and easier to understand. Conal Elliott's "Compiling to categories" is one way in: http://conal.net/papers/compiling-to-categories/

    Comment linking /papers/compiling-to-categories/

    on “Write code. Not too much. Mostly functions.”
  6. Submitted The C language is purely functional (2009) as a story · 112 points

    HN discussion
  7. carapace · 2018-10-19Recommends
    Cheers! You might also like: http://conal.net/papers/compiling-to-categories/ He transforms Haskell to a point-free form that's suspiciously like Joy... ;-)

    Comment linking /papers/compiling-to-categories/

    on “How Lisp Became God's Own Programming Language”
  8. Submitted Can functional programming be liberated from the von Neumann paradigm? (2010) as a story · 92 points

    HN discussion
  9. > Then `⊥ || True` would return True, but it doesn't This claim is a little strong out of context. If you're just talking about Haskell, with the Prelude definition of `||` and no rewriting shenanigans, then you're right. That doesn't mean ⊥ is desirable though; it's just unavoidable in this case, due to constraints imposed by other desirable properties of the language. Haskell's designers found the semantics of lam…

    Comment linking /blog/posts/functional-concurrency-with-unambiguous-choice

    on “Fearless Concurrency in Firefox Quantum”
  10. Submitted The C language is purely functional (2009) as a story · 78 points

    HN discussion
  11. Yup yup. I'm on the trail of just this using a purely functional Forth-like language called Joy. Your hunch is correct, you're intuiting the "Categorical" (as in Category Theory) nature of "point-free" format: http://conal.net/papers/compiling-to-categories/ > It is well-known that the simply typed lambda-calculus is modeled by any cartesian closed category (CCC). This correspondence suggests giving typed functional…

    Comment linking /papers/compiling-to-categories/

    on “Bring Your Own Client”
  12. Submitted Push-pull Functional Reactive Programming (2009) as a story · 54 points

    HN discussion
  13. My understanding is that category theory can be considered as abstract function theory. If we can prove that a function (e.g. Haskell compiler) is equivalent to automatic differentiation with some transformation, according to category theory, we can write Haskell code to train neural network, instead of writing extra graph building code in, say, Tensorflow. This paper basically shows this. http://conal.net/papers/es…

    Comment linking /papers/essence-of-ad/essence-of-ad-icfp.pdf

    on “Applied Category Theory”
  14. Submitted Can functional programming be liberated from the von Neumann paradigm? as a story · 52 points

    HN discussion
  15. Haskell functions never take zero arguments. Things that take zero arguments are not functions. For a more in-depth explanation of why, see: http://conal.net/blog/posts/everything-is-a-function-in-hask...

    Comment linking /blog/posts/everything-is-a-function-in-haskell

    on “The New Haskell Homepage”
  16. Submitted The C language is purely functional as a story · 50 points

    HN discussion
  17. http://conal.net/blog/posts/the-c-language-is-purely-functio... https://news.ycombinator.com/item?id=618817 https://news.ycombinator.com/item?id=9088676 :-)

    Comment linking /blog/posts/the-c-language-is-purely-functional

    on “Programming Paradigms for Dummies: What Every Programmer Should Know (2009) [pdf]”
  18. Submitted Composing Reactive Animations (1998) as a story · 26 points

    HN discussion
  19. Automatic differentiation in Haskell http://conal.net/blog/posts/beautiful-differentiation

    Comment linking /blog/posts/beautiful-differentiation

    on “Ask HN: What is the most beautiful piece of code you've ever read?”
  20. Submitted Semantic Editor Combinators as a story · 23 points

    HN discussion
  21. see http://conal.net/blog/posts/the-c-language-is-purely-functio... old but gold

    Comment linking /blog/posts/the-c-language-is-purely-functional

    on “Some Obscure C Features”
  22. Submitted A third view on trees as a story · 14 points

    HN discussion
  23. There is one thing that really bothers me, I've not found a single a mathematical formula that defines FRP. The closest thing I've found was the "Denotational Semantics" showing the logic behind, which is quite lenghty and leaves a lot of room for variations. I hate descriptions full of buzzwords that, when you look at it closely have really nothing to do with FRP, but are mere tools that help realizing it. Is there…

    Comment linking /papers/push-pull-frp/

    on “An Introduction to Reactive Programming”
  24. Submitted The C language is purely functional as a story · 11 points

    HN discussion
  25. Names can change over time but here is how i recall it: FRP is a development based on the work of conal elliott: http://conal.net/ It's main characteristic is that there is a continuous (pull)aspect. Since many interesting domains are not predominantly continuous he and many others had to add a discrete event based component. Rx is a stream based technology (push). Basically it is a dataflow library with modern func…

    Comment linking /

    on “An Introduction to Reactive Programming”
  26. Submitted Tree data structures in Haskell for parallel reduction operations as a story · 10 points

    HN discussion
  27. Start at the beginning: http://conal.net/fran/tutorial.htm Warning: FRP is much more purest than Rx (which is just data flow) or Elm (which is more FRPish but asynchronous). You probably don't want FRP but something more pragmatic like the fore mentioned systems.

    Comment linking /fran/tutorial.htm

    on “An Introduction to Reactive Programming”
  28. Submitted The C language is purely functional (2009) as a story · 10 points

    HN discussion
  29. In a word: biotech. Okay, yeah, that's a bit beyond the scope of your question... Tech-wise I think the stealth silver-bullet will be "Categorical" programming†. When this hits it might even contract the job market for programmers. Compiling to categories" Conal Elliott http://conal.net/papers/compiling-to-categories/ † As in a kind of PL paradigm: https://en.wikipedia.org/wiki/Programming_paradigm

    Comment linking /papers/compiling-to-categories/

    on “Ask HN: What Technologies to Learn in 2020?”
  30. Submitted Exact Numeric Integration as a story · 10 points

    HN discussion

Search all of HN for conal.net

Linked by the same people?