diff options
author | John Soo <jsoo1@asu.edu> | 2020-04-10 21:17:48 -0700 |
---|---|---|
committer | Leo Famulari <leo@famulari.name> | 2020-05-29 10:44:32 -0400 |
commit | bcd35444ca64131784799731e92042902615ad65 (patch) | |
tree | 873bbfc21bdefca68472b8e2ec381061cd44fc15 /gnu/packages/haskell-xyz.scm | |
parent | bcfe9dba4dfc95b294cf7b72fd77a39fbbc22f39 (diff) | |
download | guix-bcd35444ca64131784799731e92042902615ad65.tar.gz |
gnu: Add ghc-lens-family-core.
* gnu/packages/haskell-xyz.scm (ghc-lens-family-core): New variable. Signed-off-by: Leo Famulari <leo@famulari.name>
Diffstat (limited to 'gnu/packages/haskell-xyz.scm')
-rw-r--r-- | gnu/packages/haskell-xyz.scm | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/gnu/packages/haskell-xyz.scm b/gnu/packages/haskell-xyz.scm index cef3261f45..510a77d9fb 100644 --- a/gnu/packages/haskell-xyz.scm +++ b/gnu/packages/haskell-xyz.scm @@ -6660,6 +6660,42 @@ of getters, folds, isomorphisms, traversals, setters and lenses and their indexed variants.") (license license:bsd-3))) +(define-public ghc-lens-family-core + (package + (name "ghc-lens-family-core") + (version "1.2.3") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://hackage/package/lens-family-core/lens-family-core-" + version + ".tar.gz")) + (sha256 + (base32 + "009rf10pj1cb50v44cc1pq7qvfrmkkk9dikahs9qmvbvgl3mykwi")))) + (build-system haskell-build-system) + (home-page + "http://hackage.haskell.org/package/lens-family-core") + (synopsis "Haskell 98 Lens Families") + (description + "This package provides first class functional references. In addition to +the usual operations of getting, setting and composition, plus integration +with the state monad, lens families provide some unique features: + +@itemize +@item Polymorphic updating +@item Traversals +@item Cast projection functions to read-only lenses +@item Cast @code{toList} functions to read-only traversals +@item Cast semantic editor combinators to modify-only traversals +@end itemize + +For optimal first-class support use the lens-family package with rank 2/rank N +polymorphism. @code{Lens.Family.Clone} allows for first-class support of +lenses and traversals for those who require Haskell 98.") + (license license:bsd-3))) + (define-public ghc-libffi (package (name "ghc-libffi") |