summaryrefslogtreecommitdiff
path: root/gnu
diff options
context:
space:
mode:
authorjgart <jgart@dismail.de>2022-09-06 08:25:53 -0500
committerGuillaume Le Vaillant <glv@posteo.net>2022-09-07 14:32:08 +0200
commit43dd4cc0eb8b6da562b8de37018f7547186657e1 (patch)
tree3939888ce78fc8e90503c35d054b39bdc03fd4ae /gnu
parent73654708bf2a14cc557ccc1ccf76514e67abf83b (diff)
downloadguix-patches-43dd4cc0eb8b6da562b8de37018f7547186657e1.tar
guix-patches-43dd4cc0eb8b6da562b8de37018f7547186657e1.tar.gz
gnu: Add cl-positional-lambda.
* gnu/packages/lisp-xyz.scm (cl-positional-lambda, ecl-positional-lambda, sbcl-positional-lambda): New variables. Signed-off-by: Guillaume Le Vaillant <glv@posteo.net>
Diffstat (limited to 'gnu')
-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 9e40250b67..17ce2e2d64 100644
--- a/gnu/packages/lisp-xyz.scm
+++ b/gnu/packages/lisp-xyz.scm
@@ -180,6 +180,43 @@ inline @code{LAMBDA}.")
(define-public ecl-cl-map-bind
(sbcl-package->ecl-package sbcl-map-bind))
+(define-public sbcl-positional-lambda
+ (let ((commit "a43a7bb4ef6faa277e6a7440ec9839711c4b9d28")
+ (revision "0"))
+ (package
+ (name "sbcl-positional-lambda")
+ (version (git-version "2.0" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/Hexstream/positional-lambda")
+ (commit commit)))
+ (file-name (git-file-name "cl-positional-lambda" version))
+ (sha256
+ (base32 "1l27mw5ciqz7rnjq1lwslgk220i8iqcr39rs8b7hxkp1yqmah5zq"))))
+ (build-system asdf-build-system/sbcl)
+ (native-inputs
+ (list sbcl-parachute))
+ (inputs
+ (list sbcl-map-bind))
+ (home-page "https://www.hexstreamsoft.com/libraries/positional-lambda/")
+ (synopsis "Macro favouring positional references over naming")
+ (description
+ "This package provides a concise, intuitive and flexible macro for
+trivial lambdas that eschews explicit naming of parameter variables in favor
+of positional references, with support for a used or ignored &rest parameter
+and automatic declaration of ignored parameters when logical @code{gaps}
+are left in the positional references. Further convenience features
+are provided.")
+ (license license:unlicense))))
+
+(define-public cl-positional-lambda
+ (sbcl-package->cl-source-package sbcl-positional-lambda))
+
+(define-public ecl-cl-positional-lambda
+ (sbcl-package->ecl-package sbcl-positional-lambda))
+
(define-public sbcl-bodge-utilities
(let ((commit "6304bac4abe06d53579e2c0fc4437d14ff077d9f")
(revision "1"))