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 @@ This library offers macros to deal with symbols from any namespace.") | ||||||
| Edition\" (@url{https://www.cs.cmu.edu/Groups/AI/html/cltl/clm/node102.html}) | Edition\" (@url{https://www.cs.cmu.edu/Groups/AI/html/cltl/clm/node102.html}) | ||||||
| and it exports symbols from implementation-specific packages.") | and it exports symbols from implementation-specific packages.") | ||||||
|       (license license:llgpl)))) |       (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)))) | ||||||
|  |  | ||||||
		Reference in a new issue