From a4c668273df8e726625bf4c8aa828d13bca946f2 Mon Sep 17 00:00:00 2001 From: Alex Vong Date: Sun, 6 Aug 2017 23:43:53 +0800 Subject: [PATCH 6/6] gnu: Add ghc-equivalence. * gnu/packages/haskell.scm (ghc-equivalence): New variable. --- gnu/packages/haskell.scm | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index 33e7af969..60ded9651 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -4714,6 +4714,36 @@ definition of @code{Monad}.") for Haskell.") (license license:bsd-3))) +(define-public ghc-equivalence + (package + (name "ghc-equivalence") + (version "0.3.2") + (source + (origin + (method url-fetch) + (uri (string-append "https://hackage.haskell.org/package/equivalence" + "/equivalence-" version ".tar.gz")) + (sha256 + (base32 "0a85bdyyvjqs5z4kfhhf758210k9gi9dv42ik66a3jl0z7aix8kx")))) + (build-system haskell-build-system) + (inputs + `(("ghc-mtl" ,ghc-mtl) + ("ghc-stmonadtrans" ,ghc-stmonadtrans) + ("ghc-transformers-compat" ,ghc-transformers-compat) + ("ghc-quickcheck" ,ghc-quickcheck) + ("ghc-test-framework" ,ghc-test-framework) + ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2))) + (home-page "https://github.com/pa-ba/equivalence") + (synopsis + "Maintaining an equivalence relation implemented as union-find using STT") + (description + "This is an implementation of Tarjan's Union-Find algorithm +(Robert E.@: Tarjan. \"Efficiency of a Good But Not Linear Set Union + Algorithm\",JACM 22(2), 1975) in order to maintain an equivalence relation. +This implementation is a port of the @code{union-find} package using the ST +monad transformer (instead of the IO monad).") + (license license:bsd-3))) + (define-public ghc-fast-logger (package (name "ghc-fast-logger") -- 2.13.4