summary refs log tree commit diff
path: root/gnu/packages/haskell.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/haskell.scm')
-rw-r--r--gnu/packages/haskell.scm127
1 files changed, 127 insertions, 0 deletions
diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm
index c3e0a6100b..b043e03ea4 100644
--- a/gnu/packages/haskell.scm
+++ b/gnu/packages/haskell.scm
@@ -3,6 +3,7 @@
 ;;; Copyright © 2015 Siniša Biđin <sinisa@bidin.eu>
 ;;; Copyright © 2015 Paul van der Walt <paul@denknerd.org>
 ;;; Copyright © 2015 Eric Bavier <bavier@member.fsf.org>
+;;; Copyright © 2016 Ludovic Courtès <ludo@gnu.org>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -731,6 +732,28 @@ tool lex or flex for C/C++.")
      "This library provides an easy way to define command line parsers.")
     (license license:bsd-3)))
 
+(define-public ghc-concatenative
+  (package
+    (name "ghc-concatenative")
+    (version "1.0.1")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append
+                    "http://hackage.haskell.org/package/concatenative/concatenative-"
+                    version ".tar.gz"))
+              (sha256
+               (base32
+                "05xwqvcdnk8bsyj698ab9jxpa1nk23pf3m7wi9mwmw0q8n99fngd"))))
+    (build-system haskell-build-system)
+    (home-page
+     "https://patch-tag.com/r/salazar/concatenative/snapshot/current/content/pretty")
+    (synopsis "Library for postfix control flow")
+    (description
+     "Concatenative gives Haskell Factor-style combinators and arrows for
+postfix notation.  For more information on stack based languages, see
+@uref{http://concatenative.org}.")
+    (license license:bsd-3)))
+
 (define-public ghc-happy
   (package
     (name "ghc-happy")
@@ -1979,6 +2002,31 @@ isn't available, portable implementations are used.")
 both client and server code).")
     (license license:bsd-3)))
 
+(define-public ghc-indents
+  (package
+    (name "ghc-indents")
+    (version "0.3.3")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append
+                    "http://hackage.haskell.org/package/indents/indents-"
+                    version ".tar.gz"))
+              (sha256
+               (base32
+                "16lz21bp9j14xilnq8yym22p3saxvc9fsgfcf5awn2a6i6n527xn"))))
+    (build-system haskell-build-system)
+    (inputs
+     `(("ghc-parsec" ,ghc-parsec)
+       ("ghc-concatenative" ,ghc-concatenative)
+       ("ghc-mtl" ,ghc-mtl)))
+    (home-page "http://patch-tag.com/r/salazar/indents")
+    (synopsis "Indentation sensitive parser-combinators for parsec")
+    (description
+     "This library provides functions for use in parsing indentation sensitive
+contexts.  It parses blocks of lines all indented to the same level as well as
+lines continued at an indented level below.")
+    (license license:bsd-3)))
+
 (define-public ghc-iproute
   (package
     (name "ghc-iproute")
@@ -3150,6 +3198,27 @@ to annotate the text with semantic information, which can later be rendered in
 a variety of ways.")
     (license license:bsd-3)))
 
+(define-public ghc-wl-pprint
+  (package
+    (name "ghc-wl-pprint")
+    (version "1.2")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append
+                    "http://hackage.haskell.org/package/wl-pprint/wl-pprint-"
+                    version ".tar.gz"))
+              (sha256
+               (base32
+                "166zvk4zwn2zaa9kx66m1av38m34qp6h4i65bri2sfnxgvx0700r"))))
+    (build-system haskell-build-system)
+    (home-page "http://hackage.haskell.org/package/wl-pprint")
+    (synopsis "Wadler/Leijen pretty printer")
+    (description
+     "This is a pretty printing library based on Wadler's paper @i{A Prettier
+Printer}.  This version allows the library user to declare overlapping
+instances of the @code{Pretty} class.")
+    (license license:bsd-3)))
+
 (define-public ghc-ansi-wl-pprint
   (package
     (name "ghc-ansi-wl-pprint")
@@ -4856,6 +4925,39 @@ for Haskell, optimized for ease of use and high performance.  (A note on
 naming: in Greek mythology, Aeson was the father of Jason.)")
     (license license:bsd-3)))
 
+(define-public ghc-aeson-pretty
+  (package
+    (name "ghc-aeson-pretty")
+    (version "0.7.2")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append
+                    "http://hackage.haskell.org/package/aeson-pretty/aeson-pretty-"
+                    version ".tar.gz"))
+              (sha256
+               (base32
+                "03ap81853qi8yd9kdgczllrrni23a6glsfxrwj8zab6ipjrbh234"))))
+    (build-system haskell-build-system)
+    (inputs
+     `(("ghc-aeson" ,ghc-aeson)
+       ("ghc-vector" ,ghc-vector)
+       ("ghc-text" ,ghc-text)
+       ("ghc-unordered-containers"
+        ,ghc-unordered-containers)
+       ("ghc-attoparsec" ,ghc-attoparsec)
+       ("ghc-cmdargs" ,ghc-cmdargs)))
+    (home-page "http://github.com/informatikr/aeson-pretty")
+    (synopsis "JSON pretty-printing library and command-line tool")
+    (description
+     "This package provides a JSON pretty-printing library compatible with aeson
+as well as a command-line tool to improve readabilty of streams of JSON data.
+The library provides the function @code{encodePretty}.  It is a drop-in
+replacement for aeson's @code{encode} function, producing JSON-ByteStrings for
+human readers.  The command-line tool reads JSON from stdin and writes
+prettified JSON to stdout.  It also offers a complementary \"compact\"-mode,
+essentially the opposite of pretty-printing.")
+    (license license:bsd-3)))
+
 (define-public ghc-wai
   (package
     (name "ghc-wai")
@@ -6242,6 +6344,31 @@ definition lists, tables, and other features.  A compatibility mode is
 provided for those who need a drop-in replacement for Markdown.pl.")
     (license license:gpl2+)))
 
+(define-public ghc-union-find
+  (package
+    (name "ghc-union-find")
+    (version "0.2")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append
+                    "http://hackage.haskell.org/package/union-find/union-find-"
+                    version ".tar.gz"))
+              (sha256
+               (base32
+                "1v7hj42j9w6jlzi56jg8rh4p58gfs1c5dx30wd1qqvn0p0mnihp6"))))
+    (build-system haskell-build-system)
+    (home-page "http://github.com/nominolo/union-find")
+    (synopsis "Efficient union and equivalence testing of sets")
+    (description
+     "The Union/Find algorithm implements these operations in (effectively)
+constant-time:
+@enumerate
+@item Check whether two elements are in the same equivalence class.
+@item Create a union of two equivalence classes.
+@item Look up the descriptor of the equivalence class.
+@end enumerate\n")
+    (license license:bsd-3)))
+
 (define-public idris
   (package
     (name "idris")