diff options
author | Konrad Hinsen <konrad.hinsen@fastmail.net> | 2020-02-11 11:33:20 +0100 |
---|---|---|
committer | Guillaume Le Vaillant <glv@posteo.net> | 2020-02-12 09:38:10 +0100 |
commit | ca6c5c7fdf67100b5a0f0a0ae20ec3bce6b96043 (patch) | |
tree | cfa21bc6e3435c5f1bc694e2881ec8d4554a1a87 | |
parent | 8926866ef7c2b0204a9fe7072e927186b87e8d66 (diff) |
gnu: Add cl-specialized-function.
* gnu/packages/lisp-xyz.scm (sbcl-specialized-function,
cl-specialized-function): New variables.
Signed-off-by: Guillaume Le Vaillant <glv@posteo.net>
-rw-r--r-- | gnu/packages/lisp-xyz.scm | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/gnu/packages/lisp-xyz.scm b/gnu/packages/lisp-xyz.scm index 392544529f..c6859c333e 100644 --- a/gnu/packages/lisp-xyz.scm +++ b/gnu/packages/lisp-xyz.scm @@ -10423,3 +10423,45 @@ correctly.") (define-public cl-trivialib-type-unify (sbcl-package->cl-source-package sbcl-trivialib-type-unify)) + +(define-public sbcl-specialized-function + (let ((commit "b96b6afaf8358bf91cc0703e62a5a4ee20d2b7bc") + (revision "1")) + (package + (name "sbcl-specialized-function") + (version (git-version "0.0.0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/numcl/specialized-function.git") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "12j45ff0n26578vmfbhb9mfbdchw4wy023k0m2ppgl9s0z4bhjaj")))) + (build-system asdf-build-system/sbcl) + (synopsis "Julia-like dispatch for Common Lisp") + (description + "This library is part of NUMCL. It provides a macro +@code{SPECIALIZED} that performs a Julia-like dispatch on the arguments, +lazily compiling a type-specific version of the function from the same +code. The main target of this macro is speed.") + (home-page "https://github.com/numcl/specialized-function") + (license license:lgpl3+) + (inputs + `(("trivia" ,sbcl-trivia) + ("alexandria" ,sbcl-alexandria) + ("iterate" ,sbcl-iterate) + ("lisp-namespace" ,sbcl-lisp-namespace) + ("type-r" ,sbcl-type-r) + ("trivial-cltl2" ,sbcl-trivial-cltl2))) + (native-inputs + `(("fiveam" ,sbcl-fiveam))) + (arguments + `(#:asd-system-name "specialized-function" + #:asd-file "specialized-function.asd" + #:test-asd-file "specialized-function.test.asd"))))) + +(define-public cl-specialized-function + (sbcl-package->cl-source-package sbcl-specialized-function)) |