diff options
author | Pierre Neidhardt <mail@ambrevar.xyz> | 2022-06-30 17:39:31 +0200 |
---|---|---|
committer | Pierre Neidhardt <mail@ambrevar.xyz> | 2022-06-30 20:01:37 +0200 |
commit | 1d2a1bcb441f0f4bcfa74d2f8e06718cdd6b1f7e (patch) | |
tree | 09e7fe48e83b7a9e2661dc9349dc98fea36f948d | |
parent | 60c00cdd60aebdebe2af40a501ed3ff960cf6faa (diff) | |
download | guix-1d2a1bcb441f0f4bcfa74d2f8e06718cdd6b1f7e.tar guix-1d2a1bcb441f0f4bcfa74d2f8e06718cdd6b1f7e.tar.gz |
gnu: Add polymorphic-functions.
* gnu/packages/lisp-xyz.scm (cl-polymorphic-functions,
ecl-polymorphic-functions, sbcl-polymorphic-functions): New variables.
-rw-r--r-- | gnu/packages/lisp-xyz.scm | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/gnu/packages/lisp-xyz.scm b/gnu/packages/lisp-xyz.scm index 63a66fb6b7..940925174a 100644 --- a/gnu/packages/lisp-xyz.scm +++ b/gnu/packages/lisp-xyz.scm @@ -21994,3 +21994,49 @@ particularly @code{cl:typep} and @code{cl:subtypep}.") (define-public ecl-ctype (sbcl-package->ecl-package sbcl-ctype)) + +(define-public sbcl-polymorphic-functions + (package + (name "sbcl-polymorphic-functions") + (version "0.2.1") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/digikar99/polymorphic-functions/") + (commit (string-append "v" version)))) + (file-name (git-file-name "cl-polymorphic-functions" version)) + (sha256 + (base32 "161ylp3avmkylgfddp7i1kscv3bqx734jk1i97xhsbl7x83nin0h")))) + (build-system asdf-build-system/sbcl) + (inputs + (list sbcl-alexandria + sbcl-closer-mop + sbcl-compiler-macro-notes + sbcl-ctype + sbcl-fiveam + sbcl-cl-form-types + sbcl-introspect-environment + sbcl-slime-swank)) + (arguments + ;; Tests fail: https://github.com/digikar99/polymorphic-functions/issues/8 + '(#:tests? #f)) + (home-page "https://github.com/digikar99/polymorphic-functions/") + (synopsis "Function type to dispatch on types instead of classes") + (description + "This library provides all of + +@itemize +@item ad hoc polymorphism and +@item subtype polymorphism +@item parametric polymorphism (in a very limited sense) +@end itemize + +to dispatch on the basis of types rather than classes.") + (license license:expat))) + +(define-public cl-polymorphic-functions + (sbcl-package->cl-source-package sbcl-polymorphic-functions)) + +(define-public ecl-polymorphic-functions + (sbcl-package->ecl-package sbcl-polymorphic-functions)) |