ixdopp

A preprocessor for expanding "ixdo" notation for indexed monads

http://www.eecs.harvard.edu/~tov/pubs/haskell-session-types/

Latest on Hackage:0.1.3

This package is not currently in any snapshots. If you're interested in using it, we recommend adding it to Stackage Nightly. Doing so will make builds more reliable, and allow stackage.org to host generated Haddocks.

BSD-3-Clause licensed by Jesse A. Tov
Maintained by [email protected]

This preprocessor expands a Haskell program using "ixdo" notation into a Haskell program using the indexed monad bind operator (>>>=). It also serves as an example for the preprocessor-tools package.

While GHC 6.10 can now expand do-notation when (>>=) is rebound at a non-standard type, this makes it difficult to use do-notation for both monads and custom monad-like structures in the same compilation module. This preprocessor makes it easy to use do-like syntax for indexed monads while retaining "do" for monads.

If installed in ~.cabal, then ~.cabal/bin must be in the path for GHC to find it from a -pgmF flag.