diff options
author | John Soo <jsoo1@asu.edu> | 2019-12-13 07:04:13 -0800 |
---|---|---|
committer | Christopher Baines <mail@cbaines.net> | 2020-05-08 09:53:24 +0100 |
commit | 460e4e42c8a5c2a1a73772916165f3c434ee46c9 (patch) | |
tree | 044c324a96d48857c12b7da6ae1e6b7ec1c784db /gnu | |
parent | d7ad08239be312e48c18487bf4b6cc173970de6d (diff) | |
download | guix-460e4e42c8a5c2a1a73772916165f3c434ee46c9.tar.gz |
gnu: Add ghc-transformers.
* gnu/packages/haskell-xyz.scm (ghc-transformers): New variable. Signed-off-by: Christopher Baines <mail@cbaines.net>
Diffstat (limited to 'gnu')
-rw-r--r-- | gnu/packages/haskell-xyz.scm | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/gnu/packages/haskell-xyz.scm b/gnu/packages/haskell-xyz.scm index 1ff6f30141..6a4d958490 100644 --- a/gnu/packages/haskell-xyz.scm +++ b/gnu/packages/haskell-xyz.scm @@ -12127,6 +12127,45 @@ from a shell. The @code{tldr} pages are a community effort to simplify the man pages with practical examples.") (license license:bsd-3))) +(define-public ghc-transformers + (package + (name "ghc-transformers") + (version "0.5.6.2") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://hackage/package/transformers/transformers-" + version + ".tar.gz")) + (sha256 + (base32 + "0v66j5k0xqk51pmca55wq192qyw2p43s2mgxlz4f95q2c1fpjs5n")))) + (build-system haskell-build-system) + (home-page + "http://hackage.haskell.org/package/transformers") + (synopsis "Concrete functor and monad transformers") + (description + "Transformers provides functor and monad transformers, inspired by the +paper \"Functional Programming with Overloading and Higher-Order +Polymorphism\", by Mark P Jones, in Advanced School of Functional Programming, +1995 @url{http://web.cecs.pdx.edu/~mpj/pubs/springschool.html}. + +This package contains: +@itemize +@item the monad transformer class (in @code{Control.Monad.Trans.Class}) +@item concrete functor and monad transformers, each with associated operations +and functions to lift operations associated with other transformers. +@end itemize + +This package can be used on its own in portable Haskell code, in which case +operations need to be manually lifted through transformer stacks (see +@code{Control.Monad.Trans.Class} for some examples). Alternatively, it can be +used with the non-portable monad classes in the mtl or monads-tf packages, +which automatically lift operations introduced by monad transformers through +other transformers.") + (license license:bsd-3))) + (define-public ghc-transformers-base (package (name "ghc-transformers-base") |