summary refs log tree commit diff
path: root/gnu/packages/lisp-xyz.scm
diff options
context:
space:
mode:
authorPierre Neidhardt <mail@ambrevar.xyz>2020-03-09 10:55:46 +0100
committerPierre Neidhardt <mail@ambrevar.xyz>2020-03-09 10:55:46 +0100
commit6dfc981a988f0fb439eafa80357f474036f3bc90 (patch)
tree282de9f57829c870e60e2687a26d4c4cfcb1c2a5 /gnu/packages/lisp-xyz.scm
parent698a34482af6833c334aca8b5f4d1f82f7564ffa (diff)
downloadguix-6dfc981a988f0fb439eafa80357f474036f3bc90.tar.gz
gnu: Add sycamore.
* gnu/packages/lisp-xyz.scm (cl-sycamore, sbcl-sycamore): 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 cdc1419e41..078f88a70f 100644
--- a/gnu/packages/lisp-xyz.scm
+++ b/gnu/packages/lisp-xyz.scm
@@ -11211,3 +11211,42 @@ interfaces as well as a functional and an object oriented interface.")
                          "-o" shared-lib)
                  #t)))))))
     (synopsis "MySQL driver for Common Lisp SQL interface library")))
+
+(define-public sbcl-sycamore
+  (let ((commit "fd2820fec165ad514493426dea209728f64e6d18"))
+    (package
+      (name "sbcl-sycamore")
+      (version "0.0.20120604")
+      (source
+       (origin
+         (method git-fetch)
+         (uri (git-reference
+               (url "https://github.com/ndantam/sycamore/")
+               (commit commit)))
+         (file-name (git-file-name name version))
+         (sha256
+          (base32 "00bv1aj89q5vldmq92zp2364jq312zjq2mbd3iyz1s2b4widzhl7"))))
+      (build-system asdf-build-system/sbcl)
+      (arguments
+       `(#:asd-file "src/sycamore.asd"))
+      (inputs
+       `(("alexandria" ,sbcl-alexandria)
+         ("cl-ppcre" ,sbcl-cl-ppcre)))
+      (synopsis "Purely functional data structure library in Common Lisp")
+      (description
+       "Sycamore is a fast, purely functional data structure library in Common Lisp.
+If features:
+
+@itemize
+@item Fast, purely functional weight-balanced binary trees.
+@item Leaf nodes are simple-vectors, greatly reducing tree height.
+@item Interfaces for tree Sets and Maps (dictionaries).
+@item Ropes.
+@item Purely functional pairing heaps.
+@item Purely functional amortized queue.
+@end itemize\n")
+      (home-page "http://ndantam.github.io/sycamore/")
+      (license license:bsd-3))))
+
+(define-public cl-sycamore
+  (sbcl-package->cl-source-package sbcl-sycamore))