Guessing the implementation of combinators

Posted on May 16, 2012

I completed Oleg’s de-typechecker and put it on hackage as Guess.Combinator.

The original article had left part of the code as an exercise for the reader. Completing it on your own would be great practice for learning type-level programming.

How is this useful? Take the $- operator for example.

It can now be written as

($-) ∷ (d → a → e) → (e → k) → d → a → k
($-) = combinator

Haskell is magic!