aboutsummaryrefslogtreecommitdiff
path: root/gnu/packages/lisp-xyz.scm
diff options
context:
space:
mode:
authorPierre Neidhardt <mail@ambrevar.xyz>2022-06-30 15:54:09 +0200
committerPierre Neidhardt <mail@ambrevar.xyz>2022-06-30 20:01:36 +0200
commit657751669bee11f177963767eb2ae97ec29f4ede (patch)
tree4152af329356ec17da4d45021fe55ed989f47c3f /gnu/packages/lisp-xyz.scm
parent6a65f1615c75b32c327c135bd3e997237d31951d (diff)
downloadguix-657751669bee11f177963767eb2ae97ec29f4ede.tar
guix-657751669bee11f177963767eb2ae97ec29f4ede.tar.gz
gnu: Add screamer.
* gnu/packages/lisp-xyz.scm (cl-screamer, ecl-screamer, sbcl-screamer): New variables.
Diffstat (limited to 'gnu/packages/lisp-xyz.scm')
-rw-r--r--gnu/packages/lisp-xyz.scm39
1 files changed, 39 insertions, 0 deletions
diff --git a/gnu/packages/lisp-xyz.scm b/gnu/packages/lisp-xyz.scm
index 2b9dd0b086..addada891d 100644
--- a/gnu/packages/lisp-xyz.scm
+++ b/gnu/packages/lisp-xyz.scm
@@ -21636,3 +21636,42 @@ operating on them.")
(define-public ecl-algebraic-data-type
(sbcl-package->ecl-package sbcl-cl-algebraic-data-type))
+
+(define-public sbcl-screamer
+ (let ((commit "ce50614024de090b376107668da5e53232540ec7"))
+ (package
+ (name "sbcl-screamer")
+ (version (git-version "0.0.1" "1" commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/nikodemus/screamer/")
+ (commit commit)))
+ (file-name (git-file-name "cl-screamer" version))
+ (sha256
+ (base32 "1jl42pl6kwkiq71d0naf3r1mn1qy89ndimfgiz58c4g66xbjb7kx"))))
+ (build-system asdf-build-system/sbcl)
+ (native-inputs
+ (list sbcl-iterate
+ sbcl-hu.dwim.stefil))
+ (home-page "http://nikodemus.github.io/screamer/")
+ (synopsis "Nondeterministic programming and constraint propagation")
+ (description
+ "Screamer is an extension of Common Lisp that adds support for
+nondeterministic programming. Screamer consists of two levels. The basic
+nondeterministic level adds support for backtracking and undoable side
+effects. On top of this nondeterministic substrate, Screamer provides a
+comprehensive constraint programming language in which one can formulate and
+solve mixed systems of numeric and symbolic constraints. Together, these two
+levels augment Common Lisp with practically all of the functionality of both
+Prolog and constraint logic programming languages such as CHiP and CLP(R).
+Furthermore, Screamer is fully integrated with Common Lisp. Screamer programs
+can coexist and interoperate with other extensions to as CLIM and Iterate.")
+ (license license:expat))))
+
+(define-public cl-screamer
+ (sbcl-package->cl-source-package sbcl-screamer))
+
+(define-public ecl-screamer
+ (sbcl-package->ecl-package sbcl-screamer))