Loading...

Tag trends are in beta. Feedback? Thoughts? Email me at [email protected]

Unhygienic and referentially opaque macros with Scheme syntax-rules [pdf] (2013)

How the OCaml type checker works (2022)

Higher-kinded bounded polymorphism in OCaml (2021)

Lambda to SKI, semantically

Patterns of data flow in words: How to liberate APL from its style?

Patterns of data flow in words

Subtyping, Subclassing, and the Trouble with OOP (A classic from 2001 proving that OOP is unsound)

Free Variables and Free Effects

Poster/slides directly in PostScript

myawk: shell/AWK/Perl-like scripting in OCaml

Session Types without Sophistry

Modular, composable, typed optimizations in the tagless-final style

A dream of an ultimate OS

Lightweight Static Guarantees

Programming Language Reminiscence: R-Technology

Generating Mutually Recursive Definitions

Many faces of the fixed-point combinator - Oleg K.

What polymorphism and garbage collection have in common (2013)

Strongly Typed Heterogeneous Collections (2004)

Implementing and Understanding Type Classes (2014)

Monadic i/o and Unix shell programming (2001)

The challenge of first-class memory

Having an Effect

Non-determinism: a sublanguage rather than a monad

Backtracking, Interleaving, and Terminating Monad Transformers

Little Oddities

How OCaml type checker works, or what polymorphism and garbage collection have in common

Free and Freer Monads: Putting Monads Back into Closet

IO Monad Realized in 1965 (2012)

Unix Pipes as IO Monads (2001)

More →