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

Heinz Knutzen <hk@informatik.uni-kiel.d400.de>
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 hk@informatik.uni-kiel.d400.de (Heinz Knutzen) (1994-06-25)
| List of all articles for this month |

Newsgroups: comp.compilers
From: Heinz Knutzen <hk@informatik.uni-kiel.d400.de>
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.


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


- More descriptive error message if macro expansion fails.


- More usable messages if type errors are found.


- Many bug fixes.


KNOWN BUGS
~~~~~~~~~~


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




TODO
~~~~


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


Requirements
~~~~~~~~~~~~


  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


  ftp.informatik.uni-kiel.de (134.245.15.114)
  file: kiel/apply/clicc-0.6.4.tar.gz
              kiel/apply/clicc-0.6.4.tar.Z


How to contact us
~~~~~~~~~~~~~~~~~


  Requests or comments regarding CLiCC should be send to:
                            clicc@informatik.uni-kiel.de


  Use one of the following addresses to contact us individually:
            Wolfgang Goerigk, wg@informatik.uni-kiel.de
            Ulrich Hoffmann, uho@informatik.uni-kiel.de
            Heinz Knutzen, hk@informatik.uni-kiel.de


            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.