summaryrefslogtreecommitdiff
path: root/gnu/packages/lisp-xyz.scm
diff options
context:
space:
mode:
authorPierre Neidhardt <mail@ambrevar.xyz>2021-07-10 12:38:57 +0200
committerPierre Neidhardt <mail@ambrevar.xyz>2021-07-10 17:07:17 +0200
commite1b53728ccc5a01c70b302cfdd1926eff514beda (patch)
tree61d4a33b928ec6f51c1cc2bb095e4eaabf09e7c5 /gnu/packages/lisp-xyz.scm
parentc21ccbf14e211bf3417c04f5add733a1e49b44fa (diff)
downloadguix-patches-e1b53728ccc5a01c70b302cfdd1926eff514beda.tar
guix-patches-e1b53728ccc5a01c70b302cfdd1926eff514beda.tar.gz
gnu: Add cl-form-types.
* gnu/packages/lisp-xyz.scm (cl-form-types, ecl-cl-form-types, sbcl-cl-form-types): New variables.
Diffstat (limited to 'gnu/packages/lisp-xyz.scm')
-rw-r--r--gnu/packages/lisp-xyz.scm43
1 files changed, 43 insertions, 0 deletions
diff --git a/gnu/packages/lisp-xyz.scm b/gnu/packages/lisp-xyz.scm
index adb4cca0f5..42057ce372 100644
--- a/gnu/packages/lisp-xyz.scm
+++ b/gnu/packages/lisp-xyz.scm
@@ -13302,6 +13302,49 @@ and comparison operations when used heavily in numeric code.")
(define-public ecl-static-dispatch
(sbcl-package->ecl-package sbcl-static-dispatch))
+(define-public sbcl-cl-form-types
+ (package
+ (name "sbcl-cl-form-types")
+ (version "0.3.1")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/alex-gutev/cl-form-types")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "17kdjqmm2ib347b8lqm3k4kca2j53kr0azb6h7m0v5i157ibndsw"))))
+ (build-system asdf-build-system/sbcl)
+ (inputs
+ `(("agutil" ,sbcl-agutil)
+ ("anaphora" ,sbcl-anaphora)
+ ("arrows" ,sbcl-arrows)
+ ("cl-environments" ,sbcl-cl-environments)
+ ("introspect-environment" ,sbcl-introspect-environment)
+ ("optima" ,sbcl-optima)))
+ (native-inputs
+ `(("fiveam" ,sbcl-fiveam)))
+ (home-page "https://github.com/alex-gutev/cl-form-types")
+ (synopsis "determining the types of Common Lisp forms")
+ (description "This library provides functions for determining the value
+types of Common Lisp forms, based on type information contained in the
+environment.
+
+In order for this library to work the values types of variables and return
+types of functions have to be declared.
+
+Macros and symbol-macros are fully expanded and all special forms, except
+@code{CATCH}, are supported.")
+ (license license:expat)))
+
+(define-public cl-form-types
+ (sbcl-package->cl-source-package sbcl-cl-form-types))
+
+(define-public ecl-cl-form-types
+ (sbcl-package->ecl-package sbcl-cl-form-types))
+
(define-public sbcl-generic-cl
;; Latest commit includes a necessary fix for our Guix build.
(let ((commit "8e5a81487ee3c13fe5ffdc8bdda161d476639535"))