summary refs log tree commit diff
path: root/gnu/packages/lisp.scm
diff options
context:
space:
mode:
authorPierre Neidhardt <mail@ambrevar.xyz>2018-10-01 15:29:54 +0200
committerPierre Neidhardt <mail@ambrevar.xyz>2018-10-19 17:54:12 +0200
commitd414223205d2007e0c08420b34fee178cb04e77b (patch)
treeaed2d0dd1ff770320cda355aff87620a93e5b441 /gnu/packages/lisp.scm
parent5b8a801d164634e1b34eb49a29c96bc7a1d1fac4 (diff)
downloadguix-d414223205d2007e0c08420b34fee178cb04e77b.tar.gz
gnu: Add let-plus.
* gnu/packages/lisp.scm (cl-let-plus, ecl-let-plus, sbcl-let-plus): New variables.
Diffstat (limited to 'gnu/packages/lisp.scm')
-rw-r--r--gnu/packages/lisp.scm42
1 files changed, 42 insertions, 0 deletions
diff --git a/gnu/packages/lisp.scm b/gnu/packages/lisp.scm
index e6dc798407..3e9180fc9a 100644
--- a/gnu/packages/lisp.scm
+++ b/gnu/packages/lisp.scm
@@ -2407,6 +2407,48 @@ supports randomized testing, benchmarking, profiling, and reporting.")
 (define-public ecl-lift
   (sbcl-package->ecl-package sbcl-lift))
 
+(define-public sbcl-let-plus
+  (let ((commit "5f14af61d501ecead02ec6b5a5c810efc0c9fdbb"))
+    (package
+      (name "sbcl-let-plus")
+      (version (git-version "0.0.0" "1" commit))
+      (source
+       (origin
+         (method git-fetch)
+         (uri (git-reference
+               (url "https://github.com/sharplispers/let-plus")
+               (commit commit)))
+         (sha256
+          (base32
+           "0i050ca2iys9f5mb7dgqgqdxfnc3b0rnjdwv95sqd490vkiwrsaj"))
+         (file-name (git-file-name "let-plus" version))))
+      (build-system asdf-build-system/sbcl)
+      (inputs
+       `(("alexandria" ,sbcl-alexandria)
+         ("anaphora" ,sbcl-anaphora)))
+      (native-inputs
+       `(("lift" ,sbcl-lift)))
+      (synopsis "Destructuring extension of let*")
+      (description
+       "This library implements the let+ macro, which is a dectructuring
+extension of let*.  It features:
+
+@itemize
+@item Clean, consistent syntax and small implementation (less than 300 LOC,
+not counting tests)
+@item Placeholder macros allow editor hints and syntax highlighting
+@item @command{&ign} for ignored values (in forms where that makes sense)
+@item Very easy to extend
+@end itemize\n")
+      (home-page "https://github.com/sharplispers/let-plus")
+      (license license:boost1.0))))
+
+(define-public cl-let-plus
+  (sbcl-package->cl-source-package sbcl-let-plus))
+
+(define-public ecl-let-plus
+  (sbcl-package->ecl-package sbcl-let-plus))
+
 (define-public sbcl-ascii-strings
   (let ((revision "1")
         (changeset "5048480a61243e6f1b02884012c8f25cdbee6d97"))