summary refs log tree commit diff
path: root/gnu/packages/lisp-xyz.scm
diff options
context:
space:
mode:
authorPierre Neidhardt <mail@ambrevar.xyz>2021-06-21 09:14:04 +0200
committerPierre Neidhardt <mail@ambrevar.xyz>2021-06-21 11:18:13 +0200
commit9d48a179d19ffa32c3255bbc5c573afad0b2cc3a (patch)
tree98fadfbfe5a60aeb4070645909e423fbedac4533 /gnu/packages/lisp-xyz.scm
parent659cc959b3d028edb1e1f1d931ccc10983285f1d (diff)
downloadguix-9d48a179d19ffa32c3255bbc5c573afad0b2cc3a.tar.gz
gnu: Add binding-arrows.
* gnu/packages/lisp-xyz.scm (cl-binding-arrows, ecl-binding-arrows, sbcl-binding-arrows): New variables.
Diffstat (limited to 'gnu/packages/lisp-xyz.scm')
-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 2e95d5c694..f0073b80b9 100644
--- a/gnu/packages/lisp-xyz.scm
+++ b/gnu/packages/lisp-xyz.scm
@@ -17477,3 +17477,40 @@ resolving the tension between granularity and concurrency.")
 
 (define-public cl-stmx
   (sbcl-package->cl-source-package sbcl-stmx))
+
+(define-public sbcl-binding-arrows
+  ;; Fork of sbcl-arrows that does not have a new tag.
+  (let ((commit "d19364ec8850880ed6e42078ccaa2ed9114dc83a")
+        (revision "1"))
+    (package
+     (name "sbcl-binding-arrows")
+     (version (git-version "1.0.0" revision commit))
+     (source
+      (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/phoe/binding-arrows")
+             (commit commit)))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "0hqikgzic7kjq2n1d924yldfm30qz67cmsk6gghi9cbmxkwdlwp8"))))
+     (build-system asdf-build-system/sbcl)
+     (native-inputs
+      `(("hu.dwim.stefil" ,sbcl-hu.dwim.stefil)))
+     (home-page "https://github.com/phoe/binding-arrows")
+     (synopsis "Threading macros based on binding anonymous variables")
+     (description
+      "This system implements binding threading macros -- a kind of threading
+macros with different semantics than classical, Clojure core threading macros
+or their extension, swiss-arrows.  Two Common Lisp implementations of those are
+@code{arrows} and @code{arrow-macros}.
+
+This system is a fork of @code{arrows} with changes in semantics that make it
+impossible to merge back upstream.")
+     (license license:expat))))
+
+(define-public ecl-binding-arrows
+  (sbcl-package->ecl-package sbcl-binding-arrows))
+
+(define-public cl-binding-arrows
+  (sbcl-package->cl-source-package sbcl-binding-arrows))