CLISP SOURCE(1)

ABOUT
The source files for CLISP.

FILE TYPES

*.d The source files for unpreprocessed C code.

*.c The C code after preprocessing by ansidecl.

*.lisp
    The source files for lisp code.

*.fas
    Compiled lisp code (platform-independent).

FILES

Unpreprocessed C code:

    Includes:

        lispbibl.d
            main include file

        fsubr.d
            list of all built-in special forms

        subr.d
            list of all built-in functions

        pseudofun.d
            list of all "pseudo functions"

        constpack.d
            list of packages accessed by C code

        constsym.d
            list of symbols accessed by C code

        constobj.d
            list of miscellaneous objects accessed by C code

        unix.d
            include file for unix implementations

        amiga.d
            include file for Amiga/AmigaOS version

        amiga2.d
            second include file for Amiga/AmigaOS version

        msdos.d
            include file for OS/2 based versions

        win32.d
            include file for Win32 based versions

        xthread.d
            include file for thread support

        posixmath.d
            POSIX math functions

        posixmisc.d
            misc POSIX (system information etc)

        modules.h
            list of foreign modules

        version.h
            version of CLISP

    Modules:

        spvw.d
            Memory management (garbage collection), startup. some OS interface.

            avl.d
                An implementation of AVL (Adelson-Velskii and Landis) trees.

            sort.d
                A sorting routine.

            subrkw.d
                list of all built-in functions with keywords

        spvwtabf.d
            Table of built-in special forms and functions.

        spvwtabs.d
            Table of symbols accessed by C code.

        spvwtabo.d
            Table of miscellaneous objects accessed by C code.

        eval.d
            Evaluator (form interpreter) and bytecode interpreter.

            bytecode.d
                List of bytecodes.

        control.d
            Special forms (form interpreter).

        pathname.d
            Pathnames, file- and directory-related functions.

        stream.d
            Streams of all kinds: file streams, terminal stream, string streams etc.

        socket.d
            Opening sockets for TCP/IP and CLX.

        io.d
            The lisp reader (parser) and printer (also pretty printer).

        array.d
            Functions dealing with arrays and vectors.

        hashtabl.d
            Functions dealing with hash tables.

        list.d
            Functions dealing with lists.

        package.d
            Functions dealing with packages.

        record.d
            Functions dealing with records (structures, closures, etc.)

        sequence.d
            The generic sequence functions.

        charstrg.d
            Functions dealing with characters and strings.

        debug.d
            Support for debugging and the read-eval-print loop.

        error.d
            Error handling and signalling.

            erramiga.d
                AMIGAOS specific error messages.

            errunix.d
                Unix specific error messages.

            errwin32.d
                Win32 specific error messages.

        misc.d
            Miscellaneous functions.

        time.d
            Timing functions.

        predtype.d
            Predicates, type tests.

        symbol.d
            Functions dealing with symbols.

        unixaux.d
            Auxiliary functions (UNIX version only).

        win32aux.d
            Auxiliary functions (Win32 version only).

        amigaaux.d
            Auxiliary functions (Amiga version only).

        acornaux.d
            Auxiliary functions (Acorn/RiscOS version only).

        rexx.d
            Low-level Rexx interface (Amiga version only).

        graph.d
            Low-level graphics functions.

        foreign.d
            Foreign function interface support.

        lisparit.d
            Functions dealing with numbers (arithmetic), see below.

        noreadline.d
            Replacement for GNU readline library.

    Number system (arithmetic):

        lisparit.d
            initialization, input/output of numbers, lisp functions

        aridecl.d
            declarations

        arilev0.d
            arithmetic at the machine level

        arilev1.d
            digit sequences

        arilev1c.d
            operations on digit sequences, written in C

        arilev1i.d
            operations on digit sequences, as inline functions

        arilev1e.d
            operations on digit sequences, bindings to external routines

        intelem.d
            integers: elementary operations

        intlog.d
            integers: logical connectives

        intplus.d
            integers: addition and subtraction

        intcomp.d
            integers: comparison

        intbyte.d
            integers: byte operations ldb, load-byte, ...

        intmal.d
            integers: multiplication

        intdiv.d
            integers: division

        intgcd.d
            integers: gcd and lcm

        int2adic.d
            integers: operations on 2-adic integers

        intsqrt.d
            integers: square root, n-th root

        intprint.d
            subroutines for integer output

        intread.d
            subroutines for integer input

        rational.d
            rational numbers

        sfloat.d
            elementary operations for short floats

        ffloat.d
            elementary operations for single floats

        dfloat.d
            elementary operations for double floats

        lfloat.d
            elementary operations for long floats

        flo_konv.d
            conversions between floats

        flo_rest.d
            general float operations

        realelem.d
            elementary functions for real numbers

        realrand.d
            random numbers

        realtran.d
            transcendental functions for real numbers

        compelem.d
            elementary functions for complex numbers

        comptran.d
            transcendental functions for complex numbers

    External routines for the arithmetic system, written in assembly language:

        ari68000.d
            written in 68000 assembler, MIT syntax

        ari68020.d
            written in 68020 assembler, MIT syntax

        arisparc.d
            written in SPARC assembler

        arisparc64.d
            written in 64-bit SPARC assembler

        ari80386.d
            written in i386/i486 assembler

        arimips.d
            written in MIPS assembler

        arimips64.d
            written in 64-bit MIPS assembler

        arihppa.d
            written in HPPA-1.0 assembler

        arivaxunix.d
            written in VAX assembler, Unix assembler syntax

        ariarm.d
            written in ARM assembler

    External routines for accessing the stack, written in assembly language:

        sp68000.d
            written in 68000 assembler, MIT syntax

        spsparc.d
            written in SPARC assembler

        spsparc64.d
            written in 64-bit SPARC assembler

        sp80386.d
            written in i386/i486 assembler

        spmips.d
            written in MIPS assembler

Other assembly language stuff:

    asmi386.sh
        converts i386 assembler from MIT syntax to a macro syntax

    asmi386.hh
        expands i386 assembler in macro syntax to either MIT or Intel syntax

Lisp source files:

    init.lisp
        first file to be loaded, loads everything else

    defseq.lisp
        defines the usual sequence types for the generic sequence functions

    backquote.lisp
        implements the backquote read macro

    defmacro.lisp
        implements defmacro

    macros1.lisp
        the most important macros

    macros2.lisp
        some other macros

    defs1.lisp
        miscellaneous definitions

    timezone.lisp
        site-dependent definition of time zone, except for Unix

    places.lisp
        macros using places, definitions of most places

    floatprint.lisp
        printing floating point numbers in base 10

    type.lisp
        functions working with type specifiers: typep, subtypep

    defstruct.lisp
        implements the defstruct macro

    format.lisp
        implements format

    user1.lisp
        user interface, from the system's point of view

    user2.lisp
        user interface, from the user's point of view

    trace.lisp
        tracer

    macros3.lisp
        (optional) the macros letf, letf* and ethe.

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

        cfgsunux.lisp
            for Unix, using SunOS

        cfgunix.lisp
            for any other Unix

        cfgamiga.lisp
            for Amiga

        cfgdos.lisp
            for OS/2 version

        cfgwin32.lisp
            for WinNT/Win95 version

        cfgacorn.lisp
            for Acorn, using RiscOS

    compiler.lisp
        compiles lisp code to bytecode

    disassem.lisp
        disassembles machine code

    defs2.lisp
        miscellaneous CLtL2 compatible definitions

    loop.lisp
        implements a CLtL2/dpANS compatible LOOP macro

    clos.lisp
        implements a subset of the Common Lisp Object System

    condition.lisp
        implements the Common Lisp Condition System

    defs3.lisp
        more CLtL2 compatible definitions

    gstream.lisp
        generic stream default methods

    foreign1.lisp
        foreign language interface

    screen.lisp
        the screen access package

    rexx1.lisp
        for Amiga, an interface to Rexx

    edit.lisp
        (optional) the screen editor

    posix.lisp
        export POSIX calls

    threads.lisp
        MT interface

    spanish.lisp, german.lisp, french.lisp, russian.lisp, dutch.lisp
        i18n user messages

Documentation:

    FILES
        lists the source files

    FILES.1
        nroff master for FILES

    NEWS
        lists the user visible changes

    _README
        master for the distribution's README

    _README.en, _README.de, _README.es
        translations of _README

    _clisp.1
        master for the distribution's manual page

    _clisp.html
        master for the distribution's manual page in HTML format

    impnotes.html
        the implementation notes

Internationalization:

    po/*.pot
        list of translatable messages ("portable object template")

    po/*.po
        translated messages ("portable objects")

    po/*.gmo
        translated messages ("GNU format message objects")

Automatic configuration on Unix:

    configure.in
        lists the features to be checked

    autoconf/autoconf.m4
        autoconf's driver macros. Part of GNU autoconf-2.53

    m4/*.m4
        a repertoire of features. Use with GNU autoconf-2.53

    configure
        configuration script, checks for dozens of features

    intparam.c
        figures out some machine parameters (word size, endianness etc.)

    floatparam.c
        figures out some floating point arithmetics parameters (rounding, epsilons etc.)

    unixconf.h.in
        header file master. unixconf.h contains the values of the features found out by configure.

    makemake.in
        makefile construction script master

    _clisp.c
        master for the distribution's driver program

    _distmakefile
        master for the distribution's Makefile