Constructing efficient monad instances on `Set` (and other containers with constraints) using the continuation monad

Monads are one particular way of structuring and sequencing computations. The bind of a monad cannot magically restructure your computation so as to happen in a more efficient way. There are two problems with the way you structure your computation. When evaluating stepN 20 0, the result of step 0 will be computed 20 times. … Read more

Curry-Howard isomorphism

The Curry-Howard isomorphism simply states that types correspond to propositions, and values correspond to proofs. Int -> Int doesn’t really mean much interesting as a logical proposition. When interpreting something as a logical proposition, you’re only interested in whether the type is inhabited (has any values) or not. So, Int -> Int just means “given … Read more

What are the most interesting equivalences arising from the Curry-Howard Isomorphism?

Since you explicitly asked for the most interesting and obscure ones: You can extend C-H to many interesting logics and formulations of logics to obtain a really wide variety of correspondences. Here I’ve tried to focus on some of the more interesting ones rather than on the obscure, plus a couple of fundamental ones that … Read more

tech