33.3. Files

33.3.1. Unpreprocessed C code
33.3.1.1. Includes
33.3.1.2. Internal C Modules
33.3.1.3. Number system (arithmetic)
33.3.1.3.1. External routines for the arithmetic system, written in assembly language
33.3.1.4. External routines for accessing the stack, written in assembly language
33.3.2. Other assembly language stuff
33.3.3. Lisp source files
33.3.4. External Modules
33.3.5. Documentation
33.3.6. Internationalization
33.3.7. Automatic configuration on UNIX

33.3.1. Unpreprocessed C code

33.3.1.1. Includes

src/lispbibl.d
main include file
src/fsubr.d
list of all built-in special forms
src/subr.d
list of all built-in functions
src/pseudofun.d
list of all “pseudo functions
src/constpack.d
list of packages accessed by C code
src/constsym.d
list of symbols accessed by C code
src/constobj.d
list of miscellaneous objects accessed by C code
src/unix.d
include file for the UNIX implementations
src/win32.d
include file for the Win32 based versions
src/xthread.d
include file for thread support
src/modules.h
list of foreign modules

33.3.1.2. Internal C Modules

src/spvw.d

Memory management (garbage-collection), startup; some OS interface.

src/avl.d
An implementation of AVL (Adelson-Velskii and Landis) trees.
src/sort.d
A sorting routine.
src/subrkw.d
The list of all built-in functions with keywords in lambda list.

src/spvwtabf.d
The table of built-in special operators and functions.
src/spvwtabs.d
The table of all SYMBOLs accessed by C code.
src/spvwtabo.d
The table of miscellaneous objects accessed by C code.
src/eval.d

Evaluator (form interpreter) and bytecode interpreter.

src/control.d
Special operator interpreter.
src/pathname.d
Pathnames, file- and directory-related functions.
src/stream.d
STREAMs of all kinds: FILE-STREAMs, terminal streams, STRING-STREAMs etc.
src/socket.d
Opening sockets for TCP/IP and CLX.
src/io.d
The lisp reader (parser) and printer (also pretty printer).
src/array.d
Functions dealing with ARRAYs and VECTORs.
src/hashtabl.d
Functions dealing with HASH-TABLEs.
src/list.d
Functions dealing with LISTs.
src/package.d
Functions dealing with PACKAGEs.
src/record.d
Functions dealing with records (structures, closures, etc.)
src/sequence.d
The generic SEQUENCE functions.
src/charstrg.d
Functions dealing with CHARACTERs and STRINGs.
src/debug.d
Support for debugging and the read-eval-print loop (see Section 25.1, “Debugging Utilities [CLHS-25.1.2]”).
src/error.d

ERROR handling and SIGNALing.

src/errunix.d
UNIX-specific error messages.
src/errwin32.d
Win32-specific error messages.
src/misc.d
Miscellaneous functions.
src/time.d
Timing functions.
src/predtype.d
Predicates, type tests.
src/symbol.d
Functions dealing with SYMBOLs.
src/unixaux.d
Auxiliary functions (UNIX version only).
src/win32aux.d
Auxiliary functions (Win32 version only).
src/foreign.d
FFI support.
src/lisparit.d
Functions dealing with numbers (arithmetic), see Section 33.3.1.3, “Number system (arithmetic)”.
src/noreadline.d
Dummy plug-in for the GNU readline library.

33.3.1.3. Number system (arithmetic)

src/lisparit.d
initialization, input/output of numbers, lisp functions
src/aridecl.d
declarations
src/arilev0.d
arithmetic at the machine level
src/arilev1.d
digit sequences
src/arilev1c.d
operations on digit sequences, written in C
src/arilev1i.d
operations on digit sequences, as inline functions
src/arilev1e.d
operations on digit sequences, bindings to external routines
src/intelem.d
INTEGERs: elementary operations
src/intlog.d
INTEGERs: logical connectives
src/intplus.d
INTEGERs: addition and subtraction
src/intcomp.d
INTEGERs: comparison
src/intbyte.d
INTEGERs: byte operations LDB, DPB
src/intmal.d
INTEGERs: multiplication
src/intdiv.d
INTEGERs: division
src/intgcd.d
INTEGERs: GCD and LCM
src/int2adic.d
INTEGERs: operations on 2-adic integers
src/intsqrt.d
INTEGERs: square root, n-th root
src/intprint.d
subroutines for INTEGER output
src/intread.d
subroutines for INTEGER input
src/rational.d
rational numbers (RATIOs)
src/sfloat.d
elementary operations for SHORT-FLOATs
src/ffloat.d
elementary operations for SINGLE-FLOATs
src/dfloat.d
elementary operations for DOUBLE-FLOATs
src/lfloat.d
elementary operations for LONG-FLOATs
src/flo_konv.d
conversions between FLOATs
src/flo_rest.d
general FLOAT operations
src/realelem.d
elementary functions for REAL numbers
src/realrand.d
random numbers
src/realtran.d
transcendental functions for REAL numbers
src/compelem.d
elementary functions for COMPLEX numbers
src/comptran.d
transcendental functions for COMPLEX numbers
33.3.1.3.1. External routines for the arithmetic system, written in assembly language
src/ari68000.d
written in 68000 assembler, MIT syntax
src/ari68020.d
written in 68020 assembler, MIT syntax
src/arisparc.d
written in SPARC assembler
src/arisparc64.d
written in 64-bit SPARC assembler
src/ari80386.d
written in i386/i486 assembler
src/arimips.d
written in MIPS assembler
src/arimips64.d
written in 64-bit MIPS assembler
src/arihppa.d
written in HPPA-1.0 assembler
src/arivaxunix.d
written in VAX assembler, Unix assembler syntax
src/ariarm.d
written in ARM assembler

33.3.1.4. External routines for accessing the stack, written in assembly language

src/sp68000.d
written in 68000 assembler, MIT syntax
src/spsparc.d
written in SPARC assembler
src/spsparc64.d
written in 64-bit SPARC assembler
src/sp80386.d
written in i386/i486 assembler
src/spmips.d
written in MIPS assembler

33.3.2. Other assembly language stuff

src/asmi386.sh
converts i386 assembler from MIT syntax to a macro syntax
src/asmi386.hh
expands i386 assembler in macro syntax to either MIT or Intel syntax

33.3.3. Lisp source files

src/init.lisp
the first file to be loaded during bootstrapping, loads everything else
src/defseq.lisp
defines the usual sequence types for the generic sequence functions
src/backquote.lisp
implements the backquote read macro
src/defmacro.lisp
implements DEFMACRO
src/macros1.lisp
the most important macros
src/macros2.lisp
some other macros
src/defs1.lisp
miscellaneous definitions
src/timezone.lisp
site-dependent definition of time zone, except for UNIX and Win32.
src/places.lisp
macros using places, definitions of most standard and extensiion places
src/floatprint.lisp
defines SYS::WRITE-FLOAT-DECIMAL for printing floating point numbers in base 10
src/type.lisp
functions working with type specifiers: TYPEP, SUBTYPEP
src/defstruct.lisp
implements the macro DEFSTRUCT
src/format.lisp
implements the function FORMAT
src/room.lisp
implements the function ROOM (see also Section 25.2.7, “Function ROOM)
src/savemem.lisp
see Section 30.2, “Saving an Image”
src/keyboard.lisp
implements the macro EXT:WITH-KEYBOARD
src/runprog.lisp
implements the functions EXT:RUN-PROGRAM, EXT:RUN-SHELL-COMMAND etc.
src/query.lisp
implements the functions Y-OR-N-P and YES-OR-NO-P
src/reploop.lisp
support for debugging and the read-eval-print loop (see Section 25.1, “Debugging Utilities [CLHS-25.1.2]”)
src/dribble.lisp
implements the functions DRIBBLE and EXT:DRIBBLE-STREAM
src/complete.lisp
implements completion, see Section 21.2, “Terminal interaction”.
src/describe.lisp
implements functions DESCRIBE, APROPOS, APROPOS-LIST
src/trace.lisp
tracer
src/macros3.lisp (optional)
the macros EXT:LETF, EXT:LETF* and EXT:ETHE
src/config.lisp

(user written) site-dependent configuration, may be a link to one of the following:

src/cfgsunux.lisp
for UNIX, using SunOS
src/cfgunix.lisp
for any other UNIX
src/cfgwin32.lisp
for the Win32

See Section 30.12, “Customizing CLISP behavior”.

src/compiler.lisp
compiles Lisp code to bytecode
src/disassem.lisp
the function DISASSEMBLE
src/defs2.lisp
miscellaneous [ANSI CL] definitions
src/loop.lisp
implements the [ANSI CL]-compatible LOOP macro
src/clos.lisp

loads the various parts of the CLOS:

src/clos-package.lisp
declares the imports and exports of the CLOS package
src/clos-macros.lisp
defines some internal macros used by the CLOS implementation
src/clos-class0.lisp
defines the class-version structure
src/clos-metaobject1.lisp
defines the CLOS:METAOBJECT class
src/clos-slotdef1.lisp
defines the CLOS:SLOT-DEFINITION class and its subclasses
src/clos-slotdef2.lisp
defines INITIALIZE-INSTANCE methods for CLOS:SLOT-DEFINITION and its subclasses
src/clos-slotdef3.lisp
defines the generic functions that can be used on CLOS:SLOT-DEFINITION objects
src/clos-stablehash1.lisp
defines the EXT:STANDARD-STABLEHASH class
src/clos-stablehash2.lisp
defines INITIALIZE-INSTANCE methods for EXT:STANDARD-STABLEHASH
src/clos-specializer1.lisp
defines the CLOS:SPECIALIZER class and its subclasses
src/clos-specializer2.lisp
defines INITIALIZE-INSTANCE methods for CLOS:SPECIALIZER and its subclasses
src/clos-specializer3.lisp
defines the generic functions that can be used on CLOS:SPECIALIZER objects
src/clos-class1.lisp
defines the potential-class class and its subclasses
src/clos-class2.lisp
implements the mapping from class names to classes
src/clos-class3.lisp
implements the DEFCLASS macro, class definition and class redefinition
src/clos-class4.lisp
defines INITIALIZE-INSTANCE methods for potential-class and its subclasses
src/clos-class5.lisp
implements the special logic of MAKE-INSTANCE, INITIALIZE-INSTANCE etc.
src/clos-class6.lisp
defines the generic functions that can be used on potential-class objects
src/clos-method1.lisp
defines the METHOD class and its subclasses
src/clos-method2.lisp
implements the bulk of DEFMETHOD
src/clos-method3.lisp
defines the generic functions that can be used on METHOD objects
src/clos-method4.lisp
makes generic functions on STANDARD-METHOD objects extensible
src/clos-methcomb1.lisp
defines the METHOD-COMBINATION class
src/clos-methcomb2.lisp
implements method combination (part 2 of generic function dispatch and execution) and the DEFINE-METHOD-COMBINATION macro
src/clos-methcomb3.lisp
defines INITIALIZE-INSTANCE methods for METHOD-COMBINATION
src/clos-methcomb4.lisp
makes generic functions on METHOD-COMBINATION objects extensible
src/clos-genfun1.lisp
defines the GENERIC-FUNCTION class and its metaclass, superclass and subclasses
src/clos-genfun2a.lisp
implements part 1 of generic function dispatch and execution
src/clos-genfun2b.lisp
implements part 3 of generic function dispatch and execution
src/clos-genfun3.lisp
implements creation of generic function objects, DEFMETHOD, DEFGENERIC
src/clos-genfun4.lisp
defines INITIALIZE-INSTANCE methods for GENERIC-FUNCTION and its subclasses
src/clos-genfun5.lisp
makes generic functions on GENERIC-FUNCTION objects extensible
src/clos-slots1.lisp
implements low-level slot access, WITH-SLOTS, WITH-ACCESSORS
src/clos-slots2.lisp
defines the generic functions that deal with slot access
src/clos-dependent.lisp
implements notification from metaobjects to dependent objects
src/clos-print.lisp
implements the function PRINT-OBJECT
src/clos-custom.lisp
provides user customization of the CLOS
src/condition.lisp
implements the Common Lisp Condition System (CLCS)
src/gstream.lisp
generic stream default methods
src/foreign1.lisp
FFI interface
src/screen.lisp
the screen access package, see Section 31.1, “Random Screen Access”
src/edit.lisp (optional)
the screen editor (ED), EXT:UNCOMPILE
src/inspect.lisp
implements INSPECT (tty and HTTP frontends)
src/clhs.lisp
implements EXT:OPEN-HTTP, EXT:BROWSE-URL
src/exporting.lisp
Macros that export their definienda, see Section 31.2.7.3, “Exporting”.
src/threads.lisp
MT interface
src/spanish.lisp
src/german.lisp
src/french.lisp
src/russian.lisp
src/dutch.lisp
i18n user messages

33.3.4. External Modules

modules/
individual external module sources

33.3.5. Documentation

src/NEWS
the list of the user-visible changes
src/_README

master for the distribution's README

doc/clisp.xml.in
DocBook/XML sources for the CLISP manual page
build-dir/clisp.1
the platform-specific man manual page, generated from doc/clisp.xml.in at build time
build-dir/clisp.html
the platform-specific HTML manual page, generated from doc/clisp.xml.in at build time
doc/impnotes.xml.in

the master DocBook/XML file for these implementation notes; includes the following files

doc/impnotes.html
these HTML implementation notes, generated from doc/impnotes.xml.in at release time

33.3.6. Internationalization

src/po/*.pot
list of translatable messages (“portable object template”)
src/po/*.po
translated messages (“portable objects”)
src/po/*.gmo
translated messages (“GNU format message objects”)

33.3.7. Automatic configuration on UNIX

src/configure.in
lists features to be checked
src/autoconf/autoconf.m4
autoconf's driver macros. Part of GNU autoconf 2.57
src/m4/
a repertoire of features. Use with GNU autoconf 2.57
src/configure
configuration script, generated from src/configure.in
src/intparam.c
figures out some machine parameters (word size, endianness etc.)
src/floatparam.c
figures out some floating point arithmetics parameters (rounding, epsilons etc.)
src/unixconf.h.in
header file master, generated from src/configure.in. build-dir/unixconf.h contains the values of the features discovered by src/configure.
src/makemake.in
makefile construction script master
src/_clisp.c
master for the distribution's driver program
src/_distmakefile
master for the distribution's Makefile

These notes document CLISP version 2.41Last modified: 2006-10-13