Data types à la carte

Wouter Swierstra · Journal of Functional Programming · 2008

Abstract This paper describes a technique for assembling both data types and functions from isolated individual components. We also explore how the same technology can be used to combine free monads and, as a result, structure Haskell's monolithic IO monad.

Read the paper · More papers on PaperTik