summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCharles <charles@charje.net>2024-03-28 22:39:27 -0500
committerGuillaume Le Vaillant <glv@posteo.net>2024-03-29 14:42:22 +0100
commitd84fb791f6a3a010f7d3fbe2d8bab55db1e1bc1f (patch)
tree9ca713dbae6b793f5523f271d3fa0e50a03badbb
parent048adac75860b7b7bc0552c98530eccecbdf6094 (diff)
gnu: Add cl-charje.loop.
* gnu/packages/lisp-xyz.scm (sbcl-charje.loop, cl-charje.loop, ecl-charje.loop): New variables. Change-Id: I69cfc7a73a7632e4fa2204d729503b98e609070e Signed-off-by: Guillaume Le Vaillant <glv@posteo.net>
-rw-r--r--gnu/packages/lisp-xyz.scm34
1 files changed, 34 insertions, 0 deletions
diff --git a/gnu/packages/lisp-xyz.scm b/gnu/packages/lisp-xyz.scm
index 1a7fb18d81..1c47b7a7c6 100644
--- a/gnu/packages/lisp-xyz.scm
+++ b/gnu/packages/lisp-xyz.scm
@@ -2552,6 +2552,40 @@ It is similar to the @code{CL:LOOP} macro, with these distinguishing marks:
(define-public ecl-iterate
(sbcl-package->ecl-package sbcl-iterate))
+(define-public sbcl-charje.loop
+ (package
+ (name "sbcl-charje.loop")
+ (version "0.0.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://git.sr.ht/~charje/loop")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name "cl-charje.loop" version))
+ (sha256
+ (base32
+ "1x1hw5xmrx9xmfzga8y0yi6s27r7zc80rwl2z7l4d2h24ykscvd4"))))
+ (build-system asdf-build-system/sbcl)
+ (inputs
+ (list sbcl-alexandria
+ sbcl-binding-arrows
+ sbcl-parse-declarations))
+ (home-page "https://git.sr.ht/~charje/loop")
+ (synopsis "Loop abstraction for Common Lisp that is consistent for
+different kinds of data")
+ (description "Loop is a joy to use and has a consistent interface unlike
+other looping abstractions and ANSI list operations. You can define your own
+iterators and aggregators that integrate tightly into other operations. All
+operations are non-consing when possible.")
+ (license license:agpl3+)))
+
+(define-public cl-charje.loop
+ (sbcl-package->cl-source-package sbcl-charje.loop))
+
+(define-public ecl-charje.loop
+ (sbcl-package->ecl-package sbcl-charje.loop))
+
(define-public sbcl-cl-uglify-js
;; There have been many bug fixes since the 2010 release.
(let ((commit "429c5e1d844e2f96b44db8fccc92d6e8e28afdd5")