Abstract
These theories contain a formalization of first class type constructors
and axiomatic constructor classes for HOLCF. This work is described
in detail in the ICFP 2012 paper Formal Verification of Monad
Transformers by the author. The formalization is a revised and
updated version of earlier joint work with Matthews and White.
Based on the hierarchy of type classes in Haskell, we define classes for functors, monads, monad-plus, etc. Each one includes all the standard laws as axioms. We also provide a new user command, tycondef, for defining new type constructors in HOLCF. Using tycondef, we instantiate the type class hierarchy with various monads and monad transformers.
License
Topics
Session Tycon
- TypeApp
- Coerce
- Functor
- Monad
- Monad_Zero
- Monad_Plus
- Monad_Zero_Plus
- Lazy_List_Monad
- Maybe_Monad
- Error_Monad
- Writer_Monad
- Binary_Tree_Monad
- Lift_Monad
- Resumption_Transformer
- State_Transformer
- Error_Transformer
- Writer_Transformer
- Monad_Transformer