gnu: Add global-vars.
* gnu/packages/lisp.scm (cl-global-vars, ecl-global-vars, sbcl-global-vars): New variables.
This commit is contained in:
parent
3658db3fd7
commit
003a714e7e
|
@ -7557,3 +7557,40 @@ trees to dispatch on string equality.")
|
||||||
|
|
||||||
(define-public ecl-string-case
|
(define-public ecl-string-case
|
||||||
(sbcl-package->ecl-package sbcl-string-case))
|
(sbcl-package->ecl-package sbcl-string-case))
|
||||||
|
|
||||||
|
(define-public sbcl-global-vars
|
||||||
|
(let ((commit "c749f32c9b606a1457daa47d59630708ac0c266e")
|
||||||
|
(revision "0"))
|
||||||
|
(package
|
||||||
|
(name "sbcl-global-vars")
|
||||||
|
(version (git-version "1.0.0" revision commit))
|
||||||
|
(home-page "https://github.com/lmj/global-vars")
|
||||||
|
(source
|
||||||
|
(origin
|
||||||
|
(method git-fetch)
|
||||||
|
(uri (git-reference
|
||||||
|
(url home-page)
|
||||||
|
(commit commit)))
|
||||||
|
(file-name (git-file-name name version))
|
||||||
|
(sha256
|
||||||
|
(base32
|
||||||
|
"06m3xc8l3pgsapl8fvsi9wf6y46zs75cp9zn7zh6dc65v4s5wz3d"))))
|
||||||
|
(build-system asdf-build-system/sbcl)
|
||||||
|
(synopsis "Efficient global variables in Common Lisp")
|
||||||
|
(description
|
||||||
|
"In Common Lisp, a special variable that is never dynamically bound
|
||||||
|
typically serves as a stand-in for a global variable. The @code{global-vars}
|
||||||
|
library provides true global variables that are implemented by some compilers.
|
||||||
|
An attempt to rebind a global variable properly results in a compiler error.
|
||||||
|
That is, a global variable cannot be dynamically bound.
|
||||||
|
|
||||||
|
Global variables therefore allow us to communicate an intended usage that
|
||||||
|
differs from special variables. Global variables are also more efficient than
|
||||||
|
special variables, especially in the presence of threads.")
|
||||||
|
(license license:expat))))
|
||||||
|
|
||||||
|
(define-public cl-global-vars
|
||||||
|
(sbcl-package->cl-source-package sbcl-global-vars))
|
||||||
|
|
||||||
|
(define-public ecl-global-vars
|
||||||
|
(sbcl-package->ecl-package sbcl-global-vars))
|
||||||
|
|
Loading…
Reference in New Issue