aboutsummaryrefslogtreecommitdiff
path: root/gnu/packages/haskell.scm
diff options
context:
space:
mode:
authorRicardo Wurmus <ricardo.wurmus@mdc-berlin.de>2018-08-15 12:15:42 +0200
committerRicardo Wurmus <rekado@elephly.net>2018-08-16 17:04:13 +0200
commit2e72967b2a87ac83ca9da0fc7cccf7a9184d520e (patch)
tree663dcad48607d85662b16f40e232fedc868a94d0 /gnu/packages/haskell.scm
parent657d220d172639e38bae65dba845f308daad6932 (diff)
downloadpatches-2e72967b2a87ac83ca9da0fc7cccf7a9184d520e.tar
patches-2e72967b2a87ac83ca9da0fc7cccf7a9184d520e.tar.gz
gnu: Add ghc-operational.
* gnu/packages/haskell.scm (ghc-operational): New variable.
Diffstat (limited to 'gnu/packages/haskell.scm')
-rw-r--r--gnu/packages/haskell.scm26
1 files changed, 26 insertions, 0 deletions
diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm
index d986ab534b..2d6d4cf302 100644
--- a/gnu/packages/haskell.scm
+++ b/gnu/packages/haskell.scm
@@ -9938,4 +9938,30 @@ search for all keys containing a point or overlapping an interval. See the
example code on the home page for a quick introduction.")
(license license:bsd-3)))
+(define-public ghc-operational
+ (package
+ (name "ghc-operational")
+ (version "0.2.3.5")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://hackage.haskell.org/package/operational/"
+ "operational-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1x2abg2q9d26h1vzj40r6k7k3gqgappbs4g9d853vvg77837km4i"))))
+ (build-system haskell-build-system)
+ (inputs
+ `(("ghc-mtl" ,ghc-mtl)
+ ("ghc-random" ,ghc-random)))
+ (home-page "http://wiki.haskell.org/Operational")
+ (synopsis "Implementation of difficult monads made easy with operational semantics")
+ (description
+ "This library makes it easy to implement monads with tricky control
+flow. This is useful for: writing web applications in a sequential style,
+programming games with a uniform interface for human and AI players and easy
+replay capababilities, implementing fast parser monads, designing monadic
+DSLs, etc.")
+ (license license:bsd-3)))
+
;;; haskell.scm ends here