|Release 0.6.4 of CLiCC - Common Lisp to C Compiler is available firstname.lastname@example.org (Heinz Knutzen) (1994-06-25)|
|From:||Heinz Knutzen <email@example.com>|
|Keywords:||C, Lisp, available|
|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.
- Functions SCALE-FLOAT, FLOAT-RADIX, FLOAT-SIGN,
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
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, firstname.lastname@example.org
Ulrich Hoffmann, email@example.com
Heinz Knutzen, firstname.lastname@example.org
Christian-Albrechts-Universitaet zu Kiel,
Institut fuer Informatik und Praktische Mathematik
D-24105 Kiel, Germany
Return to the
Search the comp.compilers archives again.