summary refs log tree commit diff
path: root/gnu
diff options
context:
space:
mode:
authorPierre Neidhardt <mail@ambrevar.xyz>2022-06-30 17:56:59 +0200
committerPierre Neidhardt <mail@ambrevar.xyz>2022-06-30 20:01:37 +0200
commita3d65bd2470c8a52ae2f40a37de91d051aef46e2 (patch)
tree52c04c199d90c3e9d9551016ca897dd0a39cd722 /gnu
parentefe2efd72a465d8c966c0e49502fbdd3ae391674 (diff)
downloadguix-a3d65bd2470c8a52ae2f40a37de91d051aef46e2.tar.gz
gnu: Add physical-quantities.
* gnu/packages/lisp-xyz.scm (cl-physical-quantities, ecl-physical-quantities,
sbcl-physical-quantities): New variables.
Diffstat (limited to 'gnu')
-rw-r--r--gnu/packages/lisp-xyz.scm40
1 files changed, 40 insertions, 0 deletions
diff --git a/gnu/packages/lisp-xyz.scm b/gnu/packages/lisp-xyz.scm
index a9fd0ef889..2eb960d53a 100644
--- a/gnu/packages/lisp-xyz.scm
+++ b/gnu/packages/lisp-xyz.scm
@@ -22122,3 +22122,43 @@ features.  Any resemblance to esrap-liquid is merely coincidental.")
 
 (define-public ecl-parseq
   (sbcl-package->ecl-package sbcl-parseq))
+
+(define-public sbcl-physical-quantities
+  (package
+    (name "sbcl-physical-quantities")
+    (version "0.2.1")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/mrossini-ethz/physical-quantities")
+             (commit (string-append "v" version))))
+       (file-name (git-file-name "cl-physical-quantities" version))
+       (sha256
+        (base32 "0mb2s94s6fhw5vfa89naalw7ld11sdsszlqpz0c65dvpfyfmmdmh"))))
+    (build-system asdf-build-system/sbcl)
+    (inputs
+     (list sbcl-parseq))
+    (home-page "https://github.com/mrossini-ethz/physical-quantities")
+    (synopsis "Numeric type with optional unit and/or uncertainty for physics")
+    (description
+     "This lisp library handles physical quantities which consist of
+
+@itemize
+@item value / magnitude
+@item uncertainty / error
+@item unit
+@end itemize
+
+where the type of the value can be any subtype of real.  For the uncertainty,
+both absolute and relative values are possible.  Combinations of lisp symbols
+or strings are used to describe units.  User defined units including
+abbreviations and prefixes are supported.  Error propagation and unit checking
+is performed for all defined operations.")
+    (license license:gpl2)))
+
+(define-public cl-physical-quantities
+  (sbcl-package->cl-source-package sbcl-physical-quantities))
+
+(define-public ecl-physical-quantities
+  (sbcl-package->ecl-package sbcl-physical-quantities))