Skip to content

REPL Extensions in Standalone EXE

Anton Kovalenko edited this page Aug 23, 2011 · 9 revisions

REPL extensions in standalone executables

Prebuilt standalone SBCL executables for Windows include a few modules from “SYS:CONTRIB;” collection. This list includes an extended REPL (SB-ACLREPL module).

When building standalone executable images, I add some features to SB-ACLREPL (this part of build process uses noticeable amount of code that is unpublished now).

New commands

SB-ACLREPL:ALIAS facility is used for their definition; the standard :aliases command prints a list of them, with a brief description of each one.

Current command set provides a convenient way of bootstrapping Quicklisp and loading systems provided by its repository.

Bootstrapping happens automatically when a Quicklisp-related command is entered for the first time, unless quicklisp is already loaded by other means at that moment: initial quicklisp.lisp (loaded from a socket stream) brings in another parts and the repository metadata.

Arguments for this kind of commands are never evaluated. They should be either symbols or string literals; non-qualified symbols that are used as string designators are not interned to the current *package* (internally, a special temporal package is used to achieve this).

Command :qload system...

Load one or more systems.

Command :qapropos some-text

Search system and release names in Quicklisp repository; list matching systems (the facility itself is provided by QL-DIST:SYSTEM-APROPOS).

Command :qupdate optional-dist-names-to-update...

Update Quicklisp metadata. With no arguments, update all subscribed dists and also Quicklisp client.

Command :lsloaded

Experimental: list ASDF systems that were loaded.

Clone this wiki locally