Top all-time · #332
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.
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?
- The C language is purely functional (2009)38 people · 46 mentions · first linked 2011-01-01
- Compiling to Categories9 people · 48 mentions · first linked 2017-05-04
- Fran: Functional Reactive Animation (1997)9 people · 9 mentions · first linked 2011-08-31
- “Everything is a function” in Haskell? (2010)7 people · 7 mentions · first linked 2011-08-25
- Composing Reactive Animations (1998)7 people · 7 mentions · first linked 2012-08-18
- Compiling Haskell to Massively Parallel Hardware [pdf]6 people · 7 mentions · first linked 2017-05-13
- /papers/Eros/5 people · 6 mentions · first linked 2011-05-06
- Push-pull Functional Reactive Programming (2009)5 people · 5 mentions · first linked 2010-07-30
- Can functional programming be liberated from the von Neumann paradigm? (2010)5 people · 5 mentions · first linked 2014-04-30
- The C language is purely functional5 people · 5 mentions · first linked 2009-05-20
What Hacker News says?
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”Submitted The Simple Essence of Automatic Differentiation [pdf] as a story · 167 points
HN discussionSandy 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”Submitted Can functional programming be liberated from the von Neumann paradigm? (2010) as a story · 161 points
HN discussionI'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.”Submitted The C language is purely functional (2009) as a story · 112 points
HN discussionCheers! 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”Submitted Can functional programming be liberated from the von Neumann paradigm? (2010) as a story · 92 points
HN discussion> 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”Submitted The C language is purely functional (2009) as a story · 78 points
HN discussionYup 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”Submitted Push-pull Functional Reactive Programming (2009) as a story · 54 points
HN discussionMy 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”Submitted Can functional programming be liberated from the von Neumann paradigm? as a story · 52 points
HN discussionHaskell 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”Submitted The C language is purely functional as a story · 50 points
HN discussionhttp://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]”Submitted Composing Reactive Animations (1998) as a story · 26 points
HN discussionAutomatic 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?”Submitted Semantic Editor Combinators as a story · 23 points
HN discussionsee 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”Submitted A third view on trees as a story · 14 points
HN discussion- X4 · 2014-06-30
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” Submitted The C language is purely functional as a story · 11 points
HN discussionNames 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”Submitted Tree data structures in Haskell for parallel reduction operations as a story · 10 points
HN discussionStart 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”Submitted The C language is purely functional (2009) as a story · 10 points
HN discussionIn 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?”Submitted Exact Numeric Integration as a story · 10 points
HN discussion