ixdopp: A preprocessor for expanding "ixdo" notation for indexed monads

[ bsd3, language, program, source-tools ] [ Propose Tags ]

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.


Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees


  • No Candidates
Versions [RSS] 0.1, 0.1.1, 0.1.2, 0.1.3
Dependencies base (>=4 && <5), preprocessor-tools (<1), syb (<1) [details]
License BSD-3-Clause
Copyright 2013, Jesse A. Tov
Author Jesse A. Tov <tov@eecs.harvard.edu>
Maintainer tov@eecs.harvard.edu
Category Source-tools, Language
Home page http://www.eecs.harvard.edu/~tov/pubs/haskell-session-types/
Uploaded by JesseTov at 2013-01-23T22:53:59Z
Reverse Dependencies 1 direct, 0 indirect [details]
Executables ixdopp
Downloads 3057 total (7 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs not available [build log]
Last success reported on 2016-12-22 [all 8 reports]