Oh no, I blogged again! It keeps happening.
A novice of the temple once approached the Master Programmer with a question: “Master, does #Emacs have the Buddha nature?” the novice asked.
The Master Programmer had been in the temple for many years and could be relied upon to know these things. He thought for several minutes before replying: “I don’t see why not. It’s bloody well got everything else.”
Amulet's New Type Checker
(submitted by hydraz)
Precisely one month after my last blog post, https://hydraz.semi.works/posts/2018-02-18.html
Sometimes (very rarely) I write things in my blag. This is one of those times. https://hydraz.semi.works/posts/2018-01-18.html
Wrangling performance out of a functional language (by stealing tactics pioneered by GHC!): https://hydraz.semi.works/txt/match-opts.ml.html
When a joke is far too overused.
Federated GitLab? Yes, please…
I run my own GitLab. You run your own GitLab. Your GitLab sends my GitLab a pull request.
How cool would that be?
If you’d like to see that, take a moment to upvote issue #4013: https://gitlab.com/gitlab-org/gitlab-ce/issues/4013
Moving the synthesising of explicit type applications to the type checker (where it was meant to be) instead of the lowering phase has definitely made my life happier - the compiler now has one less hack I have to maintain \:D/
So you have an idea, previously, we could only infer type applications correctly for top-level symbols, as the lowering code would look a symbol up in the global environment and *guess* what instantiations were made to get from the parametric type to the type we wanted.
Reasoning About Program Behavior Algebraically [pdf]
(submitted by rwosync)
Wrote an ML, lost sanity. Would recommend.
functional.cafe is an instance for people interested in functional programming and languages.