aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJake Shilling <shilling.jake@gmail.com>2024-12-30 16:55:04 -0500
committerjgart <jgart@dismail.de>2025-01-01 19:02:41 -0600
commitdff037f9aad74cf4457b552961cc66b0635dac4d (patch)
treecee560a5d8e544c8c44a744e5efc28c1e0fc26da
parent9beb275fe5f7d696fa9d5254a6864784439c8892 (diff)
downloadguix-dff037f9aad74cf4457b552961cc66b0635dac4d.tar.gz
guix-dff037f9aad74cf4457b552961cc66b0635dac4d.zip
gnu: Add cl-transducers.
* gnu/packages/lisp-xyz.scm (cl-transducers, ecl-transducers, sbcl-transducers): Add new variables. Change-Id: Ia06d91c005b70528d5e5b37283e96edf040c2c69 Co-authored-by: jgart <jgart@dismail.de> Signed-off-by: jgart <jgart@dismail.de>
-rw-r--r--gnu/packages/lisp-xyz.scm37
1 files changed, 37 insertions, 0 deletions
diff --git a/gnu/packages/lisp-xyz.scm b/gnu/packages/lisp-xyz.scm
index c6cde75ea1..01306bef46 100644
--- a/gnu/packages/lisp-xyz.scm
+++ b/gnu/packages/lisp-xyz.scm
@@ -32837,3 +32837,40 @@ compression/decompression using bindings to the libzstd C library.")
(define-public ecl-zstd
(sbcl-package->ecl-package sbcl-zstd))
+
+(define-public sbcl-cl-transducers
+ (package
+ (name "sbcl-cl-transducers")
+ (version "1.3.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/fosskers/cl-transducers")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0p7fqkmv0rfi5d7mmm9600qpix003bqr7as148pk157s1d44vncg"))))
+ (build-system asdf-build-system/sbcl)
+ (arguments
+ '(#:asd-systems '("transducers" "transducers/jzon" "transducers/fset")))
+ (native-inputs
+ (list sbcl-cl-str
+ sbcl-parachute))
+ (inputs
+ (list sbcl-fset
+ sbcl-jzon
+ sbcl-trivia))
+ (home-page "https://fosskers.github.io/cl-transducers/")
+ (synopsis "Data source processing for Common Lisp via transducers")
+ (description
+ "Transducers are an ergonomic and extremely memory-efficient way to
+process a data source. Data source refers to simple collections like lists or
+vectors, but also potentially large files or generators of infinite data.")
+ (license license:mpl2.0)))
+
+(define-public cl-transducers
+ (sbcl-package->cl-source-package sbcl-cl-transducers))
+
+(define-public ecl-cl-transducers
+ (sbcl-package->ecl-package sbcl-cl-transducers))