[PATCH 0/4] Add some Haskell packages.

  • Open
  • quality assurance status badge
Details
3 participants
  • Brett Gilio
  • Alexandru-Sergiu Marton
  • Leo Famulari
Owner
unassigned
Submitted by
Alexandru-Sergiu Marton
Severity
normal
A
A
Alexandru-Sergiu Marton wrote on 5 Aug 2020 17:54
(address . guix-patches@gnu.org)(name . Alexandru-Sergiu Marton)(address . brown121407@posteo.ro)
20200805155420.19865-1-brown121407@posteo.ro
Those patches add some new Haskell packages.

Alexandru-Sergiu Marton (4):
gnu: Add ghc-quickcheck-text.
gnu: Add ghc-text-short.
gnu: Add ghc-deferred-folds.
gnu: Add ghc-mtl-prelude.

gnu/packages/haskell-check.scm | 28 +++++++++
gnu/packages/haskell-xyz.scm | 108 +++++++++++++++++++++++++++++++++
2 files changed, 136 insertions(+)

--
2.28.0
A
A
Alexandru-Sergiu Marton wrote on 5 Aug 2020 17:57
[PATCH 1/4] gnu: Add ghc-quickcheck-text.
(address . 42722@debbugs.gnu.org)(name . Alexandru-Sergiu Marton)(address . brown121407@posteo.ro)
20200805155725.19931-1-brown121407@posteo.ro
* gnu/packages/haskell-check.scm (ghc-quickcheck-text): New variable.
---
gnu/packages/haskell-check.scm | 28 ++++++++++++++++++++++++++++
1 file changed, 28 insertions(+)

Toggle diff (48 lines)
diff --git a/gnu/packages/haskell-check.scm b/gnu/packages/haskell-check.scm
index c2cffbad9e..0c988534d4 100644
--- a/gnu/packages/haskell-check.scm
+++ b/gnu/packages/haskell-check.scm
@@ -12,6 +12,7 @@
;;; Copyright © 2018 Arun Isaac <arunisaac@systemreboot.net>
;;; Copyright © 2019 Timothy Sample <samplet@ngyro.com>
;;; Copyright © 2020 John Soo <jsoo1@asu.edu>
+;;; Copyright © 2020 Alexandru-Sergiu Marton <brown121407@posteo.ro>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -485,6 +486,33 @@ testing Unicode-related software.")
use HUnit assertions as QuickCheck properties.")
(license license:expat)))
+(define-public ghc-quickcheck-text
+ (package
+ (name "ghc-quickcheck-text")
+ (version "0.1.2.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://hackage.haskell.org/package/quickcheck-text/quickcheck-text-"
+ version
+ ".tar.gz"))
+ (sha256
+ (base32
+ "02dbs0k6igmsa1hcw8yfvp09v7038vp4zlsp9706km3cmswgshj4"))))
+ (build-system haskell-build-system)
+ (inputs `(("ghc-quickcheck" ,ghc-quickcheck)))
+ (home-page
+ "https://github.com/olorin/quickcheck-text")
+ (synopsis "Alternative arbitrary instance for Text")
+ (description
+ "The usual
+@url{https://hackage.haskell.org/package/quickcheck-instances, Arbitrary
+instance for Text} only has single-byte instances and so isn't an ideal
+representation of a valid UTF-8 character. This package has generators for
+one-, two- and three-byte UTF-8 characters (all that are currently in use).")
+ (license license:expat)))
+
(define-public ghc-quickcheck
(package
(name "ghc-quickcheck")
--
2.28.0
A
A
Alexandru-Sergiu Marton wrote on 5 Aug 2020 17:57
[PATCH 2/4] gnu: Add ghc-text-short.
(address . 42722@debbugs.gnu.org)(name . Alexandru-Sergiu Marton)(address . brown121407@posteo.ro)
20200805155725.19931-2-brown121407@posteo.ro
* gnu/packages/haskell-xyz.scm (ghc-text-short): New variable.
---
gnu/packages/haskell-xyz.scm | 41 ++++++++++++++++++++++++++++++++++++
1 file changed, 41 insertions(+)

Toggle diff (54 lines)
diff --git a/gnu/packages/haskell-xyz.scm b/gnu/packages/haskell-xyz.scm
index 54c77653cc..4d07eb7ea6 100644
--- a/gnu/packages/haskell-xyz.scm
+++ b/gnu/packages/haskell-xyz.scm
@@ -12579,6 +12579,47 @@ upgraded. Consider yourself warned!")
string metrics efficiently.")
(license license:bsd-3)))
+(define-public ghc-text-short
+ (package
+ (name "ghc-text-short")
+ (version "0.1.3")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://hackage.haskell.org/package/text-short/text-short-"
+ version
+ ".tar.gz"))
+ (sha256
+ (base32
+ "0xyrxlb602z8bc9sr2y1fag0x56a20yj5qrkvy7iwc6hnznrynxz"))))
+ (build-system haskell-build-system)
+ (inputs `(("ghc-hashable" ,ghc-hashable)))
+ (native-inputs
+ `(("ghc-tasty" ,ghc-tasty)
+ ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
+ ("ghc-tasty-hunit" ,ghc-tasty-hunit)
+ ("ghc-quickcheck-instances"
+ ,ghc-quickcheck-instances)))
+ (arguments
+ `(#:cabal-revision
+ ("2"
+ "17cb7p0qywf2dsrq3g8qb3ssknd9wl5k0nc2pxz9gc3l8rxpkw51")))
+ (home-page
+ "http://hackage.haskell.org/package/text-short")
+ (synopsis
+ "Memory-efficient representation of Unicode text strings")
+ (description
+ "This package provides the @code{ShortText} type which is suitable for
+keeping many short strings in memory. This is similiar to how
+@code{ShortByteString} relates to @code{ByteString}. The main difference
+between @code{Text} and @code{ShortText} is that @code{ShortText} uses UTF-8
+instead of UTF-16 internally and also doesn't support zero-copy
+slicing (thereby saving 2 words). Consequently, the memory footprint of
+a (boxed) @code{ShortText} value is 4 words (2 words when unboxed) plus the
+length of the UTF-8 encoded payload.")
+ (license license:bsd-3)))
+
(define-public ghc-tf-random
(package
(name "ghc-tf-random")
--
2.28.0
A
A
Alexandru-Sergiu Marton wrote on 5 Aug 2020 17:57
[PATCH 3/4] gnu: Add ghc-deferred-folds.
(address . 42722@debbugs.gnu.org)(name . Alexandru-Sergiu Marton)(address . brown121407@posteo.ro)
20200805155725.19931-3-brown121407@posteo.ro
* gnu/packages/haskell-xyz.scm (ghc-deferred-folds): New variable.
---
gnu/packages/haskell-xyz.scm | 37 ++++++++++++++++++++++++++++++++++++
1 file changed, 37 insertions(+)

Toggle diff (50 lines)
diff --git a/gnu/packages/haskell-xyz.scm b/gnu/packages/haskell-xyz.scm
index 4d07eb7ea6..1c2f863adf 100644
--- a/gnu/packages/haskell-xyz.scm
+++ b/gnu/packages/haskell-xyz.scm
@@ -2957,6 +2957,43 @@ interfaces common to foreign bindings.")
providing an @code{rnf} implementation.")
(license license:bsd-3)))
+(define-public ghc-deferred-folds
+ (package
+ (name "ghc-deferred-folds")
+ (version "0.9.10.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://hackage.haskell.org/package/deferred-folds/deferred-folds-"
+ version
+ ".tar.gz"))
+ (sha256
+ (base32
+ "15lwcc7i7wmi1gkkmak677qw0fnz4a4ldnv842xaimfi64753shv"))))
+ (build-system haskell-build-system)
+ (inputs
+ `(("ghc-foldl" ,ghc-foldl)
+ ("ghc-hashable" ,ghc-hashable)
+ ("ghc-primitive" ,ghc-primitive)
+ ("ghc-unordered-containers"
+ ,ghc-unordered-containers)
+ ("ghc-vector" ,ghc-vector)))
+ (native-inputs
+ `(("ghc-quickcheck" ,ghc-quickcheck)
+ ("ghc-quickcheck-instances"
+ ,ghc-quickcheck-instances)
+ ("ghc-rerebase" ,ghc-rerebase)
+ ("ghc-tasty" ,ghc-tasty)
+ ("ghc-tasty-hunit" ,ghc-tasty-hunit)
+ ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
+ (home-page
+ "https://github.com/metrix-ai/deferred-folds")
+ (synopsis "Abstractions over deferred folds")
+ (description
+ "This library provides abstractions over deferred folds.")
+ (license license:expat)))
+
(define-public ghc-dense-linear-algebra
(package
(name "ghc-dense-linear-algebra")
--
2.28.0
A
A
Alexandru-Sergiu Marton wrote on 5 Aug 2020 17:57
[PATCH 4/4] gnu: Add ghc-mtl-prelude.
(address . 42722@debbugs.gnu.org)(name . Alexandru-Sergiu Marton)(address . brown121407@posteo.ro)
20200805155725.19931-4-brown121407@posteo.ro
* gnu/packages/haskell-xyz.scm (ghc-mtl-prelude): New variable.
---
gnu/packages/haskell-xyz.scm | 30 ++++++++++++++++++++++++++++++
1 file changed, 30 insertions(+)

Toggle diff (43 lines)
diff --git a/gnu/packages/haskell-xyz.scm b/gnu/packages/haskell-xyz.scm
index 1c2f863adf..3577b8f1ff 100644
--- a/gnu/packages/haskell-xyz.scm
+++ b/gnu/packages/haskell-xyz.scm
@@ -8026,6 +8026,36 @@ Therefore, you may have to declare @code{import Control.Monad.Except ()} at
the top of your file to get all of the ExceptT instances in scope.")
(license license:bsd-3)))
+(define-public ghc-mtl-prelude
+ (package
+ (name "ghc-mtl-prelude")
+ (version "2.0.3.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://hackage.haskell.org/package/mtl-prelude/mtl-prelude-"
+ version
+ ".tar.gz"))
+ (sha256
+ (base32
+ "0cqjl0mcnj6qgx46qxjygndzlgch4mc0q0sm3wbd4fynjfhdv9n4"))))
+ (build-system haskell-build-system)
+ (home-page
+ "https://github.com/nikita-volkov/mtl-prelude")
+ (synopsis
+ "Reexports of most definitions from \"mtl\" and \"transformers\"")
+ (description
+ "This package only exports definitions from the \"mtl\" and
+\"transformers\" libraries. Unlike every module of \"mtl\" it does not
+reexport @code{Control.Monad} and @code{Control.Monad.Fix}. In combination
+with the @url{base-prelude, http://hackage.haskell.org/package/base-prelude}
+library, this should give you a quite rich prelude. The @code{2.*} versions
+are restricted by the feature set of @code{mtl-2.2} and
+@code{transformers-0.4}, however they provide support for newer versions of
+those libraries as well.")
+ (license license:expat)))
+
(define-public ghc-murmur-hash
(package
(name "ghc-murmur-hash")
--
2.28.0
B
B
Brett Gilio wrote on 7 Aug 2020 20:12
Re: [bug#42722] [PATCH 0/4] Add some Haskell packages.
(name . Alexandru-Sergiu Marton)(address . brown121407@posteo.ro)(address . 42722@debbugs.gnu.org)
87a6z65npz.fsf@gnu.org
Alexandru-Sergiu Marton <brown121407@posteo.ro> writes:

Toggle quote (12 lines)
> Those patches add some new Haskell packages.
>
> Alexandru-Sergiu Marton (4):
> gnu: Add ghc-quickcheck-text.
> gnu: Add ghc-text-short.
> gnu: Add ghc-deferred-folds.
> gnu: Add ghc-mtl-prelude.
>
> gnu/packages/haskell-check.scm | 28 +++++++++
> gnu/packages/haskell-xyz.scm | 108 +++++++++++++++++++++++++++++++++
> 2 files changed, 136 insertions(+)

Hey Sergiu,

thanks for sharing these patches. There is currently a WIP Haskell merge
in discussion. I think it might be best to wait for that merge to be
decided if it is ready before merging your patches. If somebody else
feels differently, let me know.

Brett Gilio
L
L
Leo Famulari wrote on 15 Dec 2020 21:56
(name . Brett Gilio)(address . brettg@gnu.org)
X9ki6wJxYG6hzfHl@jasmine.lan
On Fri, Aug 07, 2020 at 01:12:56PM -0500, Brett Gilio wrote:
Toggle quote (21 lines)
> Alexandru-Sergiu Marton <brown121407@posteo.ro> writes:
>
> > Those patches add some new Haskell packages.
> >
> > Alexandru-Sergiu Marton (4):
> > gnu: Add ghc-quickcheck-text.
> > gnu: Add ghc-text-short.
> > gnu: Add ghc-deferred-folds.
> > gnu: Add ghc-mtl-prelude.
> >
> > gnu/packages/haskell-check.scm | 28 +++++++++
> > gnu/packages/haskell-xyz.scm | 108 +++++++++++++++++++++++++++++++++
> > 2 files changed, 136 insertions(+)
>
> Hey Sergiu,
>
> thanks for sharing these patches. There is currently a WIP Haskell merge
> in discussion. I think it might be best to wait for that merge to be
> decided if it is ready before merging your patches. If somebody else
> feels differently, let me know.

What is the status of these patches? Has the Haskell work been
completed?
?