From 4639fa325c212eec7e2d45693d1ddf04287c316a Mon Sep 17 00:00:00 2001 From: Alexandru-Sergiu Marton Date: Mon, 6 Jan 2020 11:47:47 +0200 Subject: gnu: Add ghc-pipes. * gnu/packages/haskell-xyz.scm (ghc-pipes): New variable. Signed-off-by: Brett Gilio --- gnu/packages/haskell-xyz.scm | 44 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) diff --git a/gnu/packages/haskell-xyz.scm b/gnu/packages/haskell-xyz.scm index 03ae83d50e..d3d4896f82 100644 --- a/gnu/packages/haskell-xyz.scm +++ b/gnu/packages/haskell-xyz.scm @@ -22,6 +22,7 @@ ;;; Copyright © 2019 John Soo ;;; Copyright © 2019 Kyle Meyer ;;; Copyright © 2019 Alex Griffin +;;; Copyright © 2020 Brett Gilio ;;; ;;; This file is part of GNU Guix. ;;; @@ -8615,6 +8616,49 @@ system dependencies.") functions for the ghc-persistent package.") (license license:expat))) +(define-public ghc-pipes + (package + (name "ghc-pipes") + (version "4.3.13") + (source + (origin + (method url-fetch) + (uri (string-append + "https://hackage.haskell.org/package/pipes/" + "pipes-" version ".tar.gz")) + (sha256 + (base32 + "1ch3xr5f5if0psd3lsyrpkwrgh36synnzqcpimghprys68l4zfkn")))) + (build-system haskell-build-system) + (inputs + `(("ghc-exceptions" ,ghc-exceptions) + ("ghc-mmorph" ,ghc-mmorph) + ("ghc-void" ,ghc-void) + ("ghc-semigroups" ,ghc-semigroups))) + (native-inputs + `(("ghc-quickcheck" ,ghc-quickcheck) + ("ghc-test-framework" ,ghc-test-framework) + ("ghc-test-framework-quickcheck2" + ,ghc-test-framework-quickcheck2))) + (home-page + "https://hackage.haskell.org/package/pipes") + (synopsis "Compositional pipelines") + (description + "A clean and powerful stream processing library that lets you build +and connect reusable streaming components. Advantages over traditional streaming +libraries: +@itemize +@item Concise API: Use simple commands like @code{for}, (@code{>->}), @code{await}, +and @code{yield} +@item Blazing fast: Implementation tuned for speed, including shortcut fusion +@item Lightweight Dependency: pipes is small and compiles very rapidly, including +dependencies +@item Elegant semantics: Use practical category theory +@item ListT: Correct implementation of @code{ListT} that interconverts with pipes +@item Bidirectionality: Implement duplex channels +@end itemize") + (license license:bsd-3))) + (define-public ghc-polyparse (package (name "ghc-polyparse") -- cgit 1.4.1