(address . guix-patches@gnu.org)(name . WinterHound)(address . winterhound@yandex.com)
---
gnu/packages/haskell-xyz.scm | 42 ++++++++++++++++++++++++++++++++++++
1 file changed, 42 insertions(+)
Toggle diff (52 lines)
diff --git a/gnu/packages/haskell-xyz.scm b/gnu/packages/haskell-xyz.scm
index c820d5e585..bf704abe85 100644
--- a/gnu/packages/haskell-xyz.scm
+++ b/gnu/packages/haskell-xyz.scm
@@ -16254,3 +16254,45 @@ (define-public ghc-concise
"@code{concise} provides a handful of functions to extend what you
can do with Control.Lens.Cons.")
(license license:bsd-3)))
+
+(define-public ghc-machines
+ (package
+ (name "ghc-machines")
+ (version "0.7.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (hackage-uri "machines" version))
+ (sha256
+ (base32 "0pgsa67j9l1zmazlqdb5wg3cqsikyfvkq8yih7iwcqzkys5qssvr"))))
+ (build-system haskell-build-system)
+ (inputs
+ (list ghc-adjunctions
+ ghc-comonad
+ ghc-distributive
+ ghc-pointed
+ ghc-profunctors
+ ghc-semigroupoids
+ ghc-semigroups
+ ghc-transformers-compat
+ ghc-void))
+ (home-page "http://github.com/ekmett/machines/")
+ (synopsis "Networked stream transducers")
+ (description "Ceci n'est pas une pipe\n
+Machines are demand driven input sources like pipes or conduits,
+but can support multiple inputs.\n
+You design a @code{Machine}by writing a @code{Plan}. You then
+@code{construct}the machine.\n
+Simple machines that take one input are called a @code{Process}
+and processes form a @code{Category}. More generally you can attach
+a Process to the output of any type of @code{Machine},
+yielding a new @code{Machine}.\n
+More complicated machines provide other ways of connecting to them.\n
+Typically the use of machines proceeds by using simple plans into machine
+@code{Tees}and @code{Wyes}, capping many of the inputs to those with
+possibly monadic sources, feeding the rest input (possibly repeatedly)
+and calling @code{run}or @code{runT} to get the answers out.\n
+There is a lot of flexibility when building a machine in choosing between
+empowering the machine to run its own monadic effects or delegating that
+responsibility to a custom driver.")
+ (license license:bsd-3)))
--
2.34.0