Amulet, now with high-effort error messages.

hydraz boosted

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.”

hydraz boosted

Sometimes (very rarely) I write things in my blag. This is one of those times. hydraz.semi.works/posts/2018-0

Wrangling performance out of a functional language (by stealing tactics pioneered by GHC!): hydraz.semi.works/txt/match-op

hydraz boosted

OH NO! CARMEN SANDIEGO HAS STOLEN your motivation!

A hack to approximate the definition site of a Haskell symbol (not classes or constructors quite yet), by composing rg with fzf. hydraz.semi.works/txt/where.hs

functional.cafe/media/32ZTG4-Z

Also: The code to generate type applications uses the Endo monoid and I'm very proud of that.

hydraz boosted

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: gitlab.com/gitlab-org/gitlab-c

Next up - writing a pass that'll take all this type information we have embedded and make sure things are still consistent after optimising.

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.

hydraz boosted

Reasoning About Program Behavior Algebraically [pdf]
dev.stephendiehl.com/types_beh

(submitted by rwosync)

Has anyone tricked Chrome into using system-native notifications on Linux yet?

Functional Café

functional.cafe is an instance for people interested in functional programming and languages.