summary refs log tree commit diff
path: root/gnu/packages/lisp.scm
diff options
context:
space:
mode:
authorGuillaume LE VAILLANT <glv@posteo.net>2019-09-16 13:47:46 +0200
committerPierre Neidhardt <mail@ambrevar.xyz>2019-09-18 11:55:41 +0200
commitb2fa53d0f6f76e773a2b0736ff370ecf456ae877 (patch)
tree23c9ed002b3116f3403709826fcf795bb18c7aca /gnu/packages/lisp.scm
parent7bc46ecc34ceb042ff890e5d306d0a2a736e891d (diff)
downloadguix-b2fa53d0f6f76e773a2b0736ff370ecf456ae877.tar.gz
gnu: Add series.
* gnu/packages/lisp.scm (sbcl-series, cl-series, ecl-series): New variables.
Diffstat (limited to 'gnu/packages/lisp.scm')
-rw-r--r--gnu/packages/lisp.scm38
1 files changed, 38 insertions, 0 deletions
diff --git a/gnu/packages/lisp.scm b/gnu/packages/lisp.scm
index 0c8ad1e2fa..37a0893d2f 100644
--- a/gnu/packages/lisp.scm
+++ b/gnu/packages/lisp.scm
@@ -6934,3 +6934,41 @@ classes and cyclic data structures are supported.")
 
 (define-public ecl-cl-prevalence
   (sbcl-package->ecl-package sbcl-cl-prevalence))
+
+(define-public sbcl-series
+  (let ((commit "da9061b336119d1e5214aff9117171d494d5a58a")
+        (revision "1"))
+    (package
+      (name "sbcl-series")
+      (version (git-version "2.2.11" revision commit))
+      (source
+       (origin
+         (method git-fetch)
+         (uri (git-reference
+               (url "git://git.code.sf.net/p/series/series")
+               (commit commit)))
+         (file-name (git-file-name name version))
+         (sha256
+          (base32
+           "07hk2lhfx42zk018pxqvn4gs77vd4n4g8m4xxbqaxgca76mifwfw"))))
+      (build-system asdf-build-system/sbcl)
+      (arguments
+       ;; Disable the tests, they are apparently buggy and I didn't find
+       ;; a simple way to make them run and pass.
+       '(#:tests? #f))
+      (synopsis "Series data structure for Common Lisp")
+      (description
+       "This Common Lisp library provides a series data structure much like
+a sequence, with similar kinds of operations.  The difference is that in many
+situations, operations on series may be composed functionally and yet execute
+iteratively, without the need to construct intermediate series values
+explicitly.  In this manner, series provide both the clarity of a functional
+programming style and the efficiency of an iterative programming style.")
+      (home-page "http://series.sourceforge.net/")
+      (license license:expat))))
+
+(define-public cl-series
+  (sbcl-package->cl-source-package sbcl-series))
+
+(define-public ecl-series
+  (sbcl-package->ecl-package sbcl-series))