"class struggle" as in the opposition to java-style oop

reading about move semantics and prvalues and glvalues has made me a lot happier about my decision to quit imperative programming

hydraz boosted

The type theory uprising 

hydraz boosted

@hydraz It's the transfer of ownership. Under RAII, resource (e.g. heap memory, file handle) cleanup is tied to the lifetime of an object. When you move an object, the object gives up its ownership (responsibility) of the resource and another object takes it.

hydraz boosted

@hydraz TL;DR: AFAIU, x := y means not that x and y now have the same value, but that x now has the value of y, and y… who knows, it can't be read anymore.

i don't know what move semantics are and at this point i'm too afraid to ask

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


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


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.

Show more
Functional Café

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