mirror of
https://git.in.rschanz.org/ryan77627/guix.git
synced 2024-12-27 14:52:05 -05:00
gnu: Add sbcl-introspect-environment.
* gnu/packages/lisp.scm (sbcl-introspect-environment): New variable.
This commit is contained in:
parent
9526af923a
commit
f4a7653e44
1 changed files with 41 additions and 0 deletions
|
@ -6150,3 +6150,44 @@ (define-public sbcl-trivial-cltl2
|
|||
Edition\" (@url{https://www.cs.cmu.edu/Groups/AI/html/cltl/clm/node102.html})
|
||||
and it exports symbols from implementation-specific packages.")
|
||||
(license license:llgpl))))
|
||||
|
||||
(define-public sbcl-introspect-environment
|
||||
(let ((commit "fff42f8f8fd0d99db5ad6c5812e53de7d660020b")
|
||||
(revision "1"))
|
||||
(package
|
||||
(name "sbcl-introspect-environment")
|
||||
(build-system asdf-build-system/sbcl)
|
||||
(version (git-version "0.1" revision commit))
|
||||
(home-page "https://github.com/Bike/introspect-environment")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url home-page)
|
||||
(commit commit)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1i305n0wfmpac63ni4i3vixnnkl8daw5ncxy0k3dv92krgx6qzhp"))))
|
||||
(native-inputs
|
||||
`(("fiveam" ,sbcl-fiveam)))
|
||||
(synopsis "Common Lisp environment introspection portability layer")
|
||||
(description "This library is a small interface to portable but
|
||||
nonstandard introspection of Common Lisp environments. It is intended to
|
||||
allow a bit more compile-time introspection of environments in Common Lisp.
|
||||
|
||||
Quite a bit of information is available at the time a macro or compiler-macro
|
||||
runs; inlining info, type declarations, that sort of thing. This information
|
||||
is all standard - any Common Lisp program can @code{(declare (integer x))} and
|
||||
such.
|
||||
|
||||
This info ought to be accessible through the standard @code{&environment}
|
||||
parameters, but it is not. Several implementations keep the information for
|
||||
their own purposes but do not make it available to user programs, because
|
||||
there is no standard mechanism to do so.
|
||||
|
||||
This library uses implementation-specific hooks to make information available
|
||||
to users. This is currently supported on SBCL, CCL, and CMUCL. Other
|
||||
implementations have implementations of the functions that do as much as they
|
||||
can and/or provide reasonable defaults.")
|
||||
(license license:wtfpl2))))
|
||||
|
|
Loading…
Reference in a new issue