Subject: [PATCH]: gnu: Add cl-abstract-classess, coalton

From: Sharlatan Hellseher <[email-masked]>
Date: Fri, 9 Apr 2021 23:21:50 +0000

Hi Guix team!

Here are interesting packages for Common Lisp providing static typing
(?!) but cl-abstract-classes is only available through Software
heritage.

-- 
… наш разум - превосходная объяснительная машина которая способна
найти смысл почти в чем угодно, истолковать любой феномен, но
совершенно не в состоянии принять мысль о непредсказуемости.
From 41ce5d35ef86262d082171873d1c44ed96ac1523 Mon Sep 17 00:00:00 2001
From: Sharlatan Hellseher <[email-masked]>
Date: Sat, 10 Apr 2021 00:06:38 +0100
Subject: [PATCH] gnu: Add cl-abstract-classes

* gnu/packages/lisp-xyz.scm: (sbcl-abstract-classes,
cl-abstract-classes, ecl-abstract-classes): New variables
---
 gnu/packages/lisp-xyz.scm | 33 +++++++++++++++++++++++++++++++++
 1 file changed, 33 insertions(+)

diff --git a/gnu/packages/lisp-xyz.scm b/gnu/packages/lisp-xyz.scm
index 8d527005e9..a6da75675e 100644
--- a/gnu/packages/lisp-xyz.scm
+++ b/gnu/packages/lisp-xyz.scm
@@ -15718,3 +15718,36 @@ shader functions, written with @code{Shadow}.")
 
 (define-public cl-umbra
   (sbcl-package->cl-source-package sbcl-umbra))
+
+(define-public sbcl-abstract-classes
+  (let ((commit "7fa74f1e057f9ba7c1ffecff14f049f979e45267")
+        (revision "1"))
+    (package
+      (name "sbcl-abstract-classes")
+      (version (git-version "1.7.0" revision commit))
+      (source
+       (origin
+         (method git-fetch)
+         (uri (git-reference
+               (url "https://bitbucket.org/eeeickythump/cl-abstract-classes")
+               (commit commit)))
+         (file-name (git-file-name name version))
+         (sha256
+          (base32 "06lby4i6xbbgs7kgb0f3fqybvyskyg6djhrf967lnysv7hn3zpg9"))))
+      (build-system asdf-build-system/sbcl)
+      (inputs
+       `(("closer-mop" ,sbcl-closer-mop)))
+      (arguments
+       `(#:asd-systems '("abstract-classes" "singleton-classes")))
+      (home-page "https://bitbucket.org/eeeickythump/cl-abstract-classes")
+      (synopsis "Abstract, Final, and Singleton Metaclasses for CLOS")
+      (description
+       "This package provides Common Lisp extension to the MOP to allow
+abstract and final and singleton classes.")
+      (license license:public-domain))))
+
+(define-public ecl-abstract-classes
+  (sbcl-package->ecl-package sbcl-abstract-classes))
+
+(define-public cl-abstract-classes
+  (sbcl-package->cl-source-package sbcl-abstract-classes))
-- 
2.30.2

From 65ece0b4c88568dcbad9be885b12dca262eba8b9 Mon Sep 17 00:00:00 2001
From: Sharlatan Hellseher <[email-masked]>
Date: Sat, 10 Apr 2021 00:12:14 +0100
Subject: [PATCH] gnu: Add coalton

* gnu/packages/lisp-xyz.scm: (sbcl-coalton, cl-coalton, ecl-coalton):
New variables.
---
 gnu/packages/lisp-xyz.scm | 38 ++++++++++++++++++++++++++++++++++++++
 1 file changed, 38 insertions(+)

diff --git a/gnu/packages/lisp-xyz.scm b/gnu/packages/lisp-xyz.scm
index a6da75675e..20b0016798 100644
--- a/gnu/packages/lisp-xyz.scm
+++ b/gnu/packages/lisp-xyz.scm
@@ -15751,3 +15751,41 @@ abstract and final and singleton classes.")
 
 (define-public cl-abstract-classes
   (sbcl-package->cl-source-package sbcl-abstract-classes))
+
+(define-public sbcl-coalton
+  (let ((commit "4a42ffb4222fde3abfd1b50d96e455ff2eef9fe8")
+        (revision "1"))
+    (package
+      (name "sbcl-coalton")
+      (version (git-version "0.0.0" revision commit))
+      (source
+       (origin
+         (method git-fetch)
+         (uri (git-reference
+               (url "https://github.com/stylewarning/coalton")
+               (commit commit)))
+         (file-name (git-file-name name version))
+         (sha256
+          (base32 "0aidwwam7cnhb3p9212zbv5w2dl6kr5iklzanypzr1a9lqaxwdlk"))))
+      (build-system asdf-build-system/sbcl)
+      (native-inputs
+       `(("fiasco" ,sbcl-fiasco)))
+      (inputs
+       `(("alexandria" ,sbcl-alexandria)
+         ("global-vars" ,sbcl-global-vars)
+         ("trivial-garbage" ,sbcl-trivial-garbage)
+         ("optima" ,sbcl-optima)
+         ("abstract-classes" ,sbcl-abstract-classes)))
+      (home-page "https://github.com/stylewarning/coalton")
+      (synopsis "Dialect of ML in Common Lisp")
+      (description
+       "Coalton is a dialect of ML embedded in Common Lisp.  It emphasizes
+practicality and interoperability with Lisp, and is intended to be a DSL that
+allows one to gradually make their programs safer.")
+      (license license:expat))))
+
+(define-public ecl-coalton
+  (sbcl-package->ecl-package sbcl-coalton))
+
+(define-public cl-coalton
+  (sbcl-package->cl-source-package sbcl-coalton))
-- 
2.30.2