armedbear

home
C:\temp\abcl\abcl-src-0.12.0\dist>java -jar abcl.jar
Armed Bear Common Lisp 0.12.0
Java 1.6.0_05 Sun Microsystems Inc.
Java HotSpot(TM) Client VM
Low-level initialization completed in 1.262 seconds.
Startup completed in 4.556 seconds.
Type ":help" for a list of available commands.
CL-USER(1): (list 'welcome 'to 'lisp!)
(WELCOME TO LISP!)
CL-USER(2):

Starting ABCL

When you start ABCL you can pass it command line arguments. Currently (at version 12) it supports the following arguments:

The --noinform option

The --noinform option stops the normal startup messsages from appearing. A normal startup will look something like this:

C:\temp\abcl\abcl-src-0.12.0\dist>java -jar abcl.jar
Armed Bear Common Lisp 0.12.0
Java 1.6.0_05 Sun Microsystems Inc.
Java HotSpot(TM) Client VM
Low-level initialization completed in 1.262 seconds.
Startup completed in 4.556 seconds.
Type ":help" for a list of available commands.
CL-USER(1):

To stop the above messages from appearing simply add the --noinform option to the end of the comand line:

C:\temp\abcl\abcl-src-0.12.0\dist>java -jar abcl.jar --noinform
CL-USER(1):
top

The --batch option

It is currently not known what this option does.

top

The --eval option

It is currently not known what this option does. No idea what this does, but under Linux it seems to mess up the keystrokes. If you start your Lisp under Linux, the keystrokes are not recognised. Consider starting ABCL Lisp with this command: lisp --eval "(+ 1 2)". When you try to use the arrow keys (up, right, down and left) you get:

[localhost ~]$ lisp --eval "(+ 1 2)"
Armed Bear Common Lisp 0.12.0
Java 1.6.0 IBM Corporation
IBM J9 VM
Low-level initialization completed in 0.639 seconds.
Startup completed in 2.221 seconds.
Type ":help" for a list of available commands.
CL-USER(1): ^[[A^[[C^[[B^[[D
top

The --load option

This option must be followed by a filename. It allows you to load a file when the Lisp system starts. Consider the following Lisp file; it conists of a single form:

(format t "Hello world")

If this file is saved in your home directory in Linux and is called test.lisp, you can load the file into Lisp with lisp --load ~/test.lisp. Now, when Lisp starts up you will see:

[localhost ~]$ pwd
/home/test-user
[localhost ~]$ cat test.lisp
(format t "Hello World!")
[localhost ~]$ lisp --load ~/test.lisp 
Armed Bear Common Lisp 0.12.0
Java 1.6.0 IBM Corporation
IBM J9 VM
Low-level initialization completed in 0.686 seconds.
Startup completed in 2.325 seconds.
Hello World!
Type ":help" for a list of available commands.
CL-USER(1): 

top

The --load-system-file option

This looks for lisp files. If there is no extension it tries an extension of .abcl, .lisp (from Load.loadSystemFile())

top

ABCL initialisation file

ABCL supports an initialisation file, with the expected name of .abclrc The system looks for this file in the directory specified by the Java system property user.home. This property should point to the user's home directory. If this file does not exist, then for Windows users the next place to look for it is in the root directory of the c: drive: C:\.abclrc. If this does not exist, the file .ablrc in the user's home directory is tried next; this option is depcrecated and only exists for backward compatibility. You should use .abclrc instead. Finally if all the above fail the last filename searched for is .ablisprc.

As an example, make sure you are in your home directory, and create a file called .abclrc. To demonstrate that this works enter the following Lisp form into this file: (setf x 3). This will set the special variable x to the value 3. Now simply start Lisp, and query the variable x:

C:\temp\abcl\abcl-src-0.12.0\dist>java -jar abcl.jar
CL-USER(1): x
3

The initialisation file is loaded before any other file is loaded.