diff options
author | jgart <jgart@dismail.de> | 2022-09-06 08:25:53 -0500 |
---|---|---|
committer | Guillaume Le Vaillant <glv@posteo.net> | 2022-09-07 14:32:08 +0200 |
commit | 43dd4cc0eb8b6da562b8de37018f7547186657e1 (patch) | |
tree | 3939888ce78fc8e90503c35d054b39bdc03fd4ae | |
parent | 73654708bf2a14cc557ccc1ccf76514e67abf83b (diff) |
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>
-rw-r--r-- | gnu/packages/lisp-xyz.scm | 37 |
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")) |