@hackage / ixdopp

A preprocessor for expanding "ixdo" notation for indexed monads

Latest0.1.3

About

Metadata

  • Last updated , by JesseTov
  • License BSD-3-Clause
  • Maintained by: tov@eecs.harvard.edu

  • Lottery factor: 0

Links

Installation

Readme

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.