incless
2024-10-12
A portable and extensible Common Lisp printer implementation (core)
Upstream URL
Author
Maintainer
License
Incless: a portable and extensible Common Lisp printer implemetation
This project implements print-object methods for many standard
classes and provides the interface to write, print, etc.
Requirements
ABCL, Clasp, ECL, and SBCL is the only current implementations that this system has been tested on.
In addition to a clone of this repository in a location that is
discoverable by ASDF you will also need a clone of
nontrivial-gray-streams. Incless does not implement pretty
printing or format. These systems are implemented by Inravina
and Invistra which work in coordination with Incless.
Usage
The core functionality is in the incless package, but the Common
Lisp-like interface of write and print-object is in the
invistra-extrinsic package and system. To call write try the
following in SBCL:
* (asdf:load-system :incless-extrinsic)
T
* (incless-extrinsic:write :wibble)
:WIBBLE
NIL
Incless can be loaded along with Inravina and Invistra to provide a printer, pretty printer, and format. To load the complete stack try the following:
* (asdf:load-system :invistra-extrinsic)
T
* (incless-extrinsic:pprint '(loop for i in '(a b c)
unless (eq i b) do (stuff i) (quux i) and collect i))
(LOOP FOR I IN '(A B C)
UNLESS (EQ I B)
DO (STUFF I)
(QUUX I)
AND COLLECT I)
* (invistra-extrinsic:format t "Wibble: ~a~%"
:quux)
Wibble: QUUX
NIL