I feel like this article would be much more approachable if it didn't assume readers already know Ocaml and Haskell and their module system
I feel like this article would be much more approachable if it didn't assume readers already know Ocaml and Haskell and their module system
Indeed so, but that would require a few months worth of work from the reader, unfortunately.
(I have a t-shirt with a lambda in a circle, reminiscent of the anarchist emblem, and words "no class, no state". It's definitely possible to explain to a passer-by who never studied FP what it refers to, but not in such a way that the joke remained funny. Possibly the same deal is with the bumper sticker saying "my other car is cdr".)
"Humor can be dissected, as a frog can, but the thing dies in the process and the innards are discouraging to any but the pure scientific mind." - E. B. White.
Unexplained humour dies over time. Think of the classic 'a dog walks into an inn and says "I think I'll open the other one"'.
Some observational humor is timeless. Consider this entry from the same collection of Sumerian proverbs: "The dog understands 'Take it!', but it does not understand 'Put it down!'"[0] later repopularized as "No Take, Only Throw"[1].
[0] https://etcsl.orinst.ox.ac.uk/proverbs/t.6.1.05.html#t6105.p... [1] https://knowyourmeme.com/memes/no-take-only-throw
Contemporary rephrasing: "<InsertSubject> can be dissected, like a frog. It turns out that nobody is very interested and the frog dies of it."
> a lambda in a circle
How often do people think you're a Half-Life fan instead?
Likely never. The Half-Life has the lambda with the top crooked, neatly inscribed in a circle [1]. The anarchist version has everything straight, and with the three sticks protruding out of the circle (like the A would). The visual rhyme is obvious.
[1]: https://en.wikipedia.org/wiki/Gordon_Freeman#/media/File:Gor...
[2]: https://en.wikipedia.org/wiki/Anarchist_symbolism#/media/Fil...
or Aphex Twin
The CS understanding of "No class, no state" is just about at the edge of something Aphex Twin might care about. But the stylized A really isn't that similar to a Lambda
Haskell knowledge doesn't actually help because this isn't using the (very barebones) Haskell module system, but the Backpack extension: https://www.microsoft.com/en-us/research/wp-content/uploads/...
Thanks, I scanned through all the comments/links but this is the actual resource one wants to read to get familiar with Backpack.
Yeah, it’s better to not assume anything and be stuck in the basics forever, right?
It would also be a useless article. It's fine to write for an audience, if you're not in the target audience, move on.
It's okay not to know things
Yeah... meanwhile, in lesser languages, type classes is all we have.
Uh so? There's a lot of value in articles that don't rehash the basics for the noob reader.