From hk@informatik.uni-kiel.de Mon Jun 27 20:12:13 EDT 1994 Article: 13261 of comp.lang.lisp Xref: glinda.oz.cs.cmu.edu comp.lang.lisp:13261 Path: honeydew.srv.cs.cmu.edu!das-news.harvard.edu!news2.near.net!MathWorks.Com!europa.eng.gtefsd.com!howland.reston.ans.net!xlink.net!zib-berlin.de!uniol!solid.theo-physik.uni-kiel.de!news.informatik.uni-kiel.de!news From: hk@informatik.uni-kiel.de (Heinz Knutzen) Newsgroups: comp.lang.lisp Subject: Release 0.6.4 of CLiCC - Common Lisp to C Compiler is available Date: 24 Jun 1994 10:04:31 +0200 Organization: Dept. of Computer Science, University of Kiel, FRG Lines: 135 Message-ID: <2ue42fINNm4@karlo.informatik.uni-kiel.de> NNTP-Posting-Host: karlo.informatik.uni-kiel.de ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 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 Knutzen email: hk@informatik.uni-kiel.de Institut fuer Informatik, Universitaet Kiel Tel: +49-431-560426 Preusserstr. 1-9, D-24105 Kiel, Germany Fax: +49-431-566143