From debbugs-submit-bounces@debbugs.gnu.org Tue Feb 01 04:33:43 2022 Received: (at submit) by debbugs.gnu.org; 1 Feb 2022 09:33:43 +0000 Received: from localhost ([127.0.0.1]:41730 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nEpXi-0008M1-PA for submit@debbugs.gnu.org; Tue, 01 Feb 2022 04:33:43 -0500 Received: from lists.gnu.org ([209.51.188.17]:44254) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nEpXg-0008Le-NB for submit@debbugs.gnu.org; Tue, 01 Feb 2022 04:33:40 -0500 Received: from eggs.gnu.org ([209.51.188.92]:35228) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nEpXf-0000DJ-Vw for guix-patches@gnu.org; Tue, 01 Feb 2022 04:33:40 -0500 Received: from forward106p.mail.yandex.net ([77.88.28.109]:43632) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nEpXd-0005HV-Ug for guix-patches@gnu.org; Tue, 01 Feb 2022 04:33:39 -0500 Received: from myt5-fd8342da2278.qloud-c.yandex.net (myt5-fd8342da2278.qloud-c.yandex.net [IPv6:2a02:6b8:c12:1c89:0:640:fd83:42da]) by forward106p.mail.yandex.net (Yandex) with ESMTP id 700F42FC1B5F for ; Tue, 1 Feb 2022 12:33:33 +0300 (MSK) Received: from myt6-efff10c3476a.qloud-c.yandex.net (myt6-efff10c3476a.qloud-c.yandex.net [2a02:6b8:c12:13a3:0:640:efff:10c3]) by myt5-fd8342da2278.qloud-c.yandex.net (mxback/Yandex) with ESMTP id 3nh4xbiOB7-XXdOKpWh; Tue, 01 Feb 2022 12:33:33 +0300 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yandex.com; s=mail; t=1643708013; bh=WLlh9x0zbyL+gZMzJFGkAp/kMyqP1G4DtifTOBcGWd0=; h=In-Reply-To:References:Date:Subject:To:From:Message-Id:Cc; b=QSVPxPfaeSAqk7wwNVCfMQXIuaZ1jcjsPlvlSZTxpjSm9LVHdVUqlS1CkdEJ4DwT4 uSTIivvk7vPn+NFuSZdUYLKRDWsIZs9L1wdMWnpi+hxMN+zAwqyfax9gri8pfuBdZo 6SvSVpa+qmnQFtB+Iafy+LS9xlXp7AOqtyWYC1tw= Authentication-Results: myt5-fd8342da2278.qloud-c.yandex.net; dkim=pass header.i=@yandex.com Received: by myt6-efff10c3476a.qloud-c.yandex.net (smtp/Yandex) with ESMTPSA id mPmKymJZ8Y-XUIWlUJD; Tue, 01 Feb 2022 12:33:32 +0300 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) (Client certificate not present) X-Yandex-Fwd: 2 From: WinterHound To: guix-patches@gnu.org Subject: Add ghc-machines Date: Tue, 1 Feb 2022 15:02:09 +0530 Message-Id: <20220201093211.6720-8-winterhound@yandex.com> X-Mailer: git-send-email 2.34.0 In-Reply-To: <20220201093211.6720-1-winterhound@yandex.com> References: <20220201093211.6720-1-winterhound@yandex.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Received-SPF: pass client-ip=77.88.28.109; envelope-from=winterhound@yandex.com; helo=forward106p.mail.yandex.net X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: -1.3 (-) X-Debbugs-Envelope-To: submit Cc: WinterHound X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.3 (--) --- gnu/packages/haskell-xyz.scm | 42 ++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) 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