Top all-time · #3713
Higher Order
Personal blog · blog.higher-order.comprogrammingmath
Higher Order is a personal blog at blog.higher-order.com about programming and math. Since 2013, 21 different Hacker News readers have linked it 21 times, most often “Maximally Powerful, Minimally Useful”. The last post was in 2016, but the archive is still widely read.
Too few sampled comments (5) to say how often HN recommends it.?
Why HN links it
Higher Order's posts cover programming language design, including the trade-off between expressiveness and analyzability, minimal languages, and encodings. Commenters cite them in discussions of those topics without judging them.
Summarised by Claude from a sample of 5 HN comments that link here. Each comment is marked recommending, critical or neutral (citing without judging); how this works.
I want to talk about a comonad that came up at work the other day. Actually, two of them, as the data structure in question is a comonad in at least …
Most-linked posts?
- Maximally Powerful, Minimally Useful3 people · 3 mentions · first linked 2014-12-22
- Objects, Identity, and Concept-formation (2008)3 people · 3 mentions · first linked 2014-07-06
- Structural Pattern Matching in Java3 people · 3 mentions · first linked 2017-03-15
- A Critique of Impure Reason2 people · 2 mentions · first linked 2018-10-29
- Easy Performance Wins with Scalaz2 people · 2 mentions · first linked 2015-06-21
What Hacker News says?
It’s well known that there is a trade-off in language and systems design between expressiveness and analyzability. That is, the more expressive a language or system is, the less we can reason about it, and vice versa. The more capable the system, the less comprehensible it is. http://blog.higher-order.com/blog/2014/12/21/maximally-power...
Comment linking /blog/2014/12/21/maximally-powerful/
on “We need less powerful languages”Submitted Maximally Powerful, Minimally Useful as a story · 80 points
HN discussionFrom the looks of it, the author of these slides has written very little Scala. Take slide #7, for example, where he writes def bar() = { "1" } when def bar = "1" is perfectly sufficient. Ironically, I may very well be pointing out the bad parts of scala (i.e. that () is simply a convention for indicating Unit or side-effecting functions, but its just convention and not enforced by the type system in any way). Notwi…
Comment linking /blog/2008/12/04/no-such-thing/
on “Scala – The good, the bad and the very ugly”Submitted Easy Performance Wins with Scalaz as a story · 33 points
HN discussion"other functional style syntaxes like pattern matching are being introduced in many of them" The Interpreter and its dual the Visitor GOF pattern have made what amounts to pattern matching possible in OO languages for a few decades now [1]. The whole point of these patterns is to write recursive functions following recursive data types, which is one of the main use cases for pattern matching (ok, more generally thes…
Comment linking /blog/2009/08/21/structural-pattern-matching-in-java/
on “What's worked in Computer Science (2015)”Submitted Objects, Identity, and Concept-formation (2008) as a story · 32 points
HN discussionThis is an instance of the "Maximally Powerful, Minimally Useful" principle from a few days ago [0]. Because the language being described is sufficiently minimal it has multiple valid, meaningful interpretations including the direct "just execute it" interpretation, a theoretical "compile this to some kind of other language and interpret it there", and, most interestingly, interpret these relations as a linear algeb…
Comment linking /blog/2014/12/21/maximally-powerful/
on “Using the Quick Raise of Matrices to a Power to Write a Fast Interpreter”Submitted A better reading list with Mathematica as a story · 23 points
HN discussionIt's worth noting you can implement something similar in OOP languages using Church encoding: http://blog.higher-order.com/blog/2009/08/21/structural-patt...
Comment linking /blog/2009/08/21/structural-pattern-matching-in-java/
on “If statements considered harmful”Submitted A Scala Comonad Tutorial as a story · 4 points
HN discussionSubmitted Structural Pattern Matching in Java as a story · 3 points
HN discussionSubmitted A Critique of Impure Reason as a story · 2 points
HN discussionSubmitted There is no such thing as Object-Oriented programming (2008) as a story · 2 points
HN discussionSubmitted A Comonad of Graph Decompositions as a story · 2 points
HN discussionSubmitted Functional Programming (in Scala) – Monoid Morphisms, Products, and Coproducts as a story · 2 points
HN discussionSubmitted What Purity Is and Isn’t as a story · 1 points
HN discussionSubmitted A Critique of Impure Reason (2009) as a story · 1 points
HN discussionSubmitted Easy Performance Wins with Scalaz as a story · 1 points
HN discussionSubmitted Rúnar Óli Bjarnason is taking a break from Twitter as a story · 1 points
HN discussionSubmitted Stackless Scala with Free Monads [pdf] as a story · 1 points
HN discussionSubmitted Free monads and the Yoneda lemma as a story · 1 points
HN discussion