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. They depend on the preprocessor: ansidecl or traddecl.

*.lsp
    The source files for lisp code.

*.fas
    Compiled lisp code. Depends on the machine on which CLISP runs and (perhaps) on the compiler used to build CLISP.

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

        atari.d
            include file for Atari/TOS version

        amiga.d
            include file for Amiga/AmigaOS version

        amiga2.d
            second include file for Amiga/AmigaOS version

        msdos.d
            include file for MS-DOS or OS/2 based versions

        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.

        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.

        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 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.

        misc.d
            Miscellaneous functions.

        predtype.d
            Predicates, type tests.

        symbol.d
            Functions dealing with symbols.

        unixaux.d
            Auxiliary functions (UNIX version only).

        stdwin.d
            Interface to the STDWIN library.

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

        graph.d
            Low-level graphics functions.

        lisparit0.d
            Functions dealing with numbers (arithmetic).

        noreadline.d
            Replacement for GNU readline library.

        dbxtypes.d
            Declaration of types for use with SUN's dbx (Sun version only).

        alglobal.d
            Declaration of all global variables of the library (Atari TOS version only).

        main.d
            Declaration of auxiliary functions for use with Gcc 2.

        windows.d
            Stuff for MS Windows 3.1. This includes:

            wintext.d
                text windows

            winstat.d
                status window

            winmain.d
                the main window

            winaux.d
                auxiliary functions

    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.mit.d
            written in 68000 assembler, MIT syntax

        ari68000.mot.d
            written in 68000 assembler, Motorola syntax

        ari68000.atari.d
            written in 68000 assembler, MIT syntax, use this for Atari version

        ari68020.mit.d
            written in 68020 assembler, MIT syntax

        ari68020.mot.d
            written in 68020 assembler, Motorola syntax

        arisparc.d
            written in SPARC assembler

        ari80386.d
            written in i386/i486 assembler

        arimips.d
            written in 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.mit.d
            written in 68000 assembler, MIT syntax

        sp68000.mot.d
            written in 68000 assembler, Motorola syntax

        spsparc.d
            written in SPARC assembler

        sp80386.d
            written in i386/i486 assembler

        spmips.d
            written in MIPS assembler

Other C stuff:

    module.cc
        automatic initialization of foreign modules

Other assembly language stuff:

    cc_sparc.il
        lisp stack access in SPARC assembler, for use with Sun's cc

Lisp source files:

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

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

    backquot.lsp
        implements the backquote read macro

    defmacro.lsp
        implements defmacro

    macros1.lsp
        the most important macros

    macros2.lsp
        some other macros

    defs1.lsp
        miscellaneous definitions

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

    places.lsp
        macros using places, definitions of most places

    floatpri.lsp
        printing floating point numbers in base 10

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

    defstruc.lsp
        implements the defstruct macro

    format.lsp
        implements format

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

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

    trace.lsp
        tracer

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

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

        cfglinux.lsp
            for Unix, using Linux

        cfgsunux.lsp
            for Unix, using SunOS

        cfgunix.lsp
            for any other Unix

        cfgatfd.lsp
            for Atari, using floppy disk A:

        cfgathd.lsp
            for Atari, using hard disk E:

        cfgamiga.lsp
            for Amiga

        cfgdos.lsp
            for MS-DOS version

        cfgacorn.lsp
            for Acorn, using RiscOS

    compiler.lsp
        compiles lisp code to bytecode

    defs2.lsp
        miscellaneous CLtL2 compatible definitions

    loop.lsp
        implements a CLtL2/dpANS compatible LOOP macro

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

    conditio.lsp
        implements the Common Lisp Condition System

    defs3.lsp
        more CLtL2 compatible definitions

    gstream.lsp
        generic stream default methods

    screen.lsp
        the screen access package

    stdwin2.lsp
        part 2 of the interface to the STDWIN library

    rexx.lsp
        for Amiga, an interface to Rexx

    editor.lsp
        (optional) the screen editor

Documentation:

    FILES
        lists the source files

    FILES.1
        nroff master for FILES

    CHANGES.LOG
        lists the changes to the source

    NEWS
        lists the user visible changes

    _README
        master for the distribution's README

    _clisp.1
        master for the distribution's manual page

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

    _impnotes.txt
        master for the distribution's implementation notes

    ../doc/cltl2.txt
        list of X3J13 votes and their current status in CLISP

    foreign.txt
        how to call foreign functions from within CLISP

Automatic configuration on Unix:

    configure.in
        lists the features to be checked

    autoconf-1.7/autoconf
        the main program of GNU autoconf-1.7

    autoconf-1.7/acgeneral.m4
        autoconf's general feature testing macros. Part of GNU autoconf-1.7

    autoconf-1.7/acspecific.m4
        macros that test for some standard features. Part of GNU autoconf-1.7

    autoconf-1.7/aclocal.m4
        a repertoire of features. Use with GNU autoconf-1.7

    autoconf-2.1/autoconf
        the main program of GNU autoconf-2.1

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

    autoconf-2.1/acgeneral.m4
        autoconf's general feature testing macros. Part of GNU autoconf-2.1

    autoconf-2.1/acspecific.m4
        macros that test for some standard features. Part of GNU autoconf-2.1

    autoconf-2.1/aclocal.m4
        a repertoire of features. Use with GNU autoconf-2.1

    configure
        configuration script, checks for dozens of features

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

    machine.c
        preprocessed version of machine.d

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

    makemake.in
        makefile construction script master

    _distmakefile
        master for the distribution's Makefile