cl-info
2025-06-22
A helper to an answer a question about OS, Lisp and Everything.
Upstream URL
Author
License
CL-INFO - Common Lisp Environment Reporter
CL-INFO ASDF System Details
- Description: A helper to an answer a question about
OS
, Lisp and Everything. - Licence: Unlicense
- Author: Alexander Artemenko svetlyak.40wt@gmail.com
- Homepage: https://40ants.com/cl-info
- Bug tracker: https://github.com/40ants/cl-info/issues
- Source control: GIT
This is a small utility, useful to display information about you Common
Lisp environment. You might want to call it in the CI
pipeline or
to use it when rendering a crash report in some client applications.
Installation
You can install this library from Quicklisp, but you want to receive updates quickly, then install it from Ultralisp.org:
(ql-dist:install-dist "http://dist.ultralisp.org/"
:prompt nil)
(ql:quickload :cl-info)
Or you can install the script using Roswell:
ros install 40ants/cl-info
Usage
Usage from Common Lisp
It's main entry point is cl-info:get-cl-info
function. It returns an object with
customized PRINT-OBJECT
method. You can use it to output debug
information in your programs.
cl-info
(1
2
) collects inforrmation about OS
, Lisp Implementation, ASDF
, installed
Quicklisp distributions:
CL-USER> (cl-info:get-cl-info) OS: Darwin 15.6.0 Lisp: SBCL 1.4.8 ASDF: 3.3.1.1 QL: ceramic github-e0d905187946f8f2358f7b05e1ce87b302e34312 cl-prevalence github-c163c227ed85d430b82cb1e3502f72d4f88e3cfa log4cl-json github-c4f786e252d89a45372186aaf32fb8e8736b444b log4cl github-6a857b0b41c030a8a3b04096205e221baaa1755f quicklisp 2018-04-30 slynk github-3314cf8c3021cb758e0e30fe3ece54accf1dcf3d weblocks-lass github-1b043afbf2f3e84e495dfeae5e63fe67a435019f weblocks-parenscript github-8ef4ca2f837403a05c4e9b92dcf1c41771d16f17 weblocks-ui github-5afdf238534d70edc2447d0bc8bc63da8e35999f weblocks-websocket github-b098db7f179dce3bfb045afd4e35e7cc868893f0 weblocks github-282483f97d6ca351265ebfebb017867c295d01ad websocket-driver github-a3046b11dfb9803ac3bff7734dd017390c2b54bb CL-USER>
Also, you can gather information about separate systems using cl-info:get-system-info
function:
CL-USER> (cl-info:get-system-info :hamcrest) System: HAMCREST 0.4.2 /Users/art/common-lisp/cl-hamcrest/src/
Usage From Command-line
Also, you can use cl-info
(1
2
) as a command-line utility. It is useful to
output information about common lisp environment running on CI
server.
Here is how to do it:
# Here we use a Roswell, to install utility [art@art-osx:~]% ros install 40ants/cl-info # And now request information about lisp and some systems [art@art-osx:~]% cl-info weblocks clack jonathan some-other-system OS: Darwin 15.6.0 Lisp: Clozure Common Lisp Version 1.11.5/v1.11.5 (DarwinX8664) ASDF: 3.3.1.1 QL: org.borodust.bodge 20180214223017 quicklisp 2017-10-23 System: weblocks 0.31.1 /Users/art/common-lisp/weblocks/src/ System: clack 2.0.0 /Users/art/common-lisp/clack/ System: jonathan 0.1 /Users/art/.roswell/lisp/quicklisp/dists/quicklisp/software/jonathan-20170630-git/ System: some-other-system is not available
API
CL-INFO
package cl-info
Classes
CL-INFO
class cl-info:cl-info
()
Readers
reader cl-info:get-asdf-version
(cl-info) (= (asdf/upgrade:asdf-version))
Returns ASDF
version.
reader cl-info:get-lisp-type
(cl-info) (= (lisp-implementation-type))
reader cl-info:get-lisp-version
(cl-info) (= (lisp-implementation-version))
reader cl-info:get-ql-dists
(cl-info) (= (ql-dist:all-dists))
reader cl-info:get-software-type
(cl-info) (= (software-type))
reader cl-info:get-software-version
(cl-info) (= (software-version))
SYSTEM-INFO
class cl-info:system-info
()
Readers
reader cl-info:absent-p
(system-info) (:absent = nil)
reader cl-info:get-name
(system-info) (:name)
reader cl-info:get-path
(system-info) (:path)
reader cl-info:get-version
(system-info) (:version)
Functions
function cl-info:get-cl-info
Returns information about lisp implementation, asdf and quicklisp.