summary refs log tree commit diff
diff options
context:
space:
mode:
authorPierre Neidhardt <mail@ambrevar.xyz>2019-10-07 13:48:23 +0200
committerPierre Neidhardt <mail@ambrevar.xyz>2019-10-07 13:48:23 +0200
commit3658db3fd73d3e04e81e5a3b03d2c395312e833a (patch)
tree72b675eb57d0b03e7ba521a5f8d293fed5c13887
parent6fdb5b79478d0c6087a1b05cd092ec87f7435c72 (diff)
downloadguix-3658db3fd73d3e04e81e5a3b03d2c395312e833a.tar.gz
gnu: Add string-case.
* gnu/packages/lisp.scm (cl-string-case, ecl-string-case, sbcl-string-case):
  New variables.
-rw-r--r--gnu/packages/lisp.scm30
1 files changed, 30 insertions, 0 deletions
diff --git a/gnu/packages/lisp.scm b/gnu/packages/lisp.scm
index 0ca815fb2e..debe568347 100644
--- a/gnu/packages/lisp.scm
+++ b/gnu/packages/lisp.scm
@@ -7527,3 +7527,33 @@ of C+GObject libraries without the need of writing dedicated bindings.")
 
 (define-public cl-gobject-introspection
   (sbcl-package->cl-source-package sbcl-cl-gobject-introspection))
+
+(define-public sbcl-string-case
+  (let ((commit "718c761e33749e297cd2809c7ba3ade1985c49f7")
+        (revision "0"))
+    (package
+      (name "sbcl-string-case")
+      (version (git-version "0.0.2" revision commit))
+      (home-page "https://github.com/pkhuong/string-case")
+      (source
+       (origin
+         (method git-fetch)
+         (uri (git-reference
+               (url home-page)
+               (commit commit)))
+         (file-name (git-file-name name version))
+         (sha256
+          (base32
+           "1n5i3yh0h5s636rcnwn7jwqy3rjflikra04lymimhpcshhjsk0md"))))
+      (build-system asdf-build-system/sbcl)
+      (synopsis "Efficient string= case in Common Lisp")
+      (description
+       "@code{string-case} is a Common Lisp macro that generates specialised decision
+trees to dispatch on string equality.")
+      (license license:bsd-3))))
+
+(define-public cl-string-case
+  (sbcl-package->cl-source-package sbcl-string-case))
+
+(define-public ecl-string-case
+  (sbcl-package->ecl-package sbcl-string-case))