Release 0.6.4 of CLiCC - Common Lisp to C Compiler is available

Heinz Knutzen <>
Sat, 25 Jun 1994 20:36:36 GMT

          From comp.compilers

Related articles
Release 0.6.4 of CLiCC - Common Lisp to C Compiler is available (Heinz Knutzen) (1994-06-25)
| List of all articles for this month |

Newsgroups: comp.compilers
From: Heinz Knutzen <>
Keywords: C, Lisp, available
Organization: Compilers Central
Date: Sat, 25 Jun 1994 20:36:36 GMT

The new release 0.6.4 of CLiCC,
a Common Lisp to C Compiler,
is now available.

The major changes from the last release (0.6.2) (January 1994) are:

- Inlining of functions across modules.

- &rest arguments are stack allocated if the list is only locally used.

- Better code for nested IF-expressions.

- Foreign function interface is usable now. Look at src/test/time.*
    for an example. Documentation is not yet finished.

- Most of the code for array functions is written in Lisp now.

- Print-Functions of defstruct are no longer ignored.

- Function FORMAT knows about ~T directive now.

    FLOAT-PRECISION and INTEGER-DECODE-FLOAT are implemented now.
    The radix and significand-length are taken from float.h if an ANSI-C
    compiler is used. These values are calculated by CLiCC otherwise.

- *print-length* and *print-level* have been set to 50 because
    *print-circle* is not implemented yet.

- New scripts cl-s and rt-s to produce shared libraries (SUNOS only).

- Function BREAK may be used during macro expansion to debug expander

- More descriptive error message if macro expansion fails.

- More usable messages if type errors are found.

- Many bug fixes.


- next-method-list may be wrong in case of multiple inheritance
- Compilation fails for functions which use local function
    definitions in default forms for optional or keyword parameters.
- User defined methods for standard generic functions like
    shared-initialize are silently ignored.
- Compilation fails if :documentation option in slots is used.
- Foreign function interface is not usable if CLiCC is compiled with
    itself, because FORMAT directive ~^ is used but currently not
    available in our imlementation of FORMAT.


- Foreign function interface has to be finished and documented.

- Module compilation has to be documented

What is CLiCC

CLiCC is a Common Lisp to C Compiler. It generates C-executables from
Common Lisp application programs. CLiCC is not a Common Lisp system.
Hence it does not include any program development or debugging support.
CLiCC is intended to be used as an add-on to existing Common Lisp systems
for generating portable applications.

CLiCC supports a subset of Common Lisp + CLOS, which we call CL_0
(CommonLisp_0). CL_0 is a strict and very large subset of full Common
Lisp + CLOS, without (EVAL ...) and friends. At present, CL_0 is based on
CLtL1, but we are working towards CLtL2 and ANSI-CL.

The target language is a subset of C. CLiCC is adaptable to gene- rate
ANSI-C or K&R-C by using a compiler option. The generated C code is
compilable using a conventional C compiler on the target machine, and must
be linked with the CLiCC runtime library in order to generate executables.


  The following is a list of Common Lisp systems we tested to be usable
  for CLiCC to run:

      - Allegro Common Lisp 4.1 (Franz Inc.)
      - Sun (Lucid) Common Lisp 4.0 (Sun Microsystems Inc., Lucid Inc.)
      - CMU Common Lisp 16f or 17c (Carnegie Mellon University)
      - CLISP (Bruno Haible & Michael Stoll)
      - AKCL 1.615 (Austin Kyoto Common Lisp) with September-16-92-PCL-f

But CLiCC should run on every system which implements Common Lisp as
described in CLtL1 with additional CLOS support.

You need an ANSI-C or K&R-C compiler to generate the executables. On PC
compatible machines you have to use a 32-bit C compiler.

How to get it

CLiCC is available via anonymous FTP from (
  file: kiel/apply/clicc-0.6.4.tar.gz

How to contact us

  Requests or comments regarding CLiCC should be send to:

  Use one of the following addresses to contact us individually:
            Wolfgang Goerigk,
            Ulrich Hoffmann,
            Heinz Knutzen,

            Christian-Albrechts-Universitaet zu Kiel,
  Institut fuer Informatik und Praktische Mathematik
                                  Preusserstr. 1-9
                            D-24105 Kiel, Germany

-- Heinz

Post a followup to this message

Return to the comp.compilers page.
Search the comp.compilers archives again.