Description
A preprocessor for expanding "ixdo" notation for indexed monads.
Description
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.