[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

C to LISP translator/compiler?



    Date: Thu, 5 Apr 90 15:46:46 PDT
    From: Monty Kosma <kosma%human-torch@stc.lockheed.com>

       Date: Thu, 5 Apr 90 14:27 PDT
       From: weaver@RUSSIAN.SPA.Symbolics.COM (Eric Weaver)

           Date: Thu, 5 Apr 90 08:12:50 PDT
           From: nicholls@gallium.boeing.com (William H. Nicholls)


           Does anyone know if a translator exists to convert C into
           Lisp?  I've heard of one going the other way......

           ---------
           William H. Nicholls                       - nicholls@atc.boeing.com
           Boeing Defense & Space Group              - nicholls@ee.washington.edu
           (let ((*standard-disclaimers* t)) ... )

       Savoir Corp., the Hayward-based manufacturer of factory-automation
       something-or-other, has one.  I don't know if they're hot to share, but
       you might ask.  Tom Lipkis is a contact.

Does Symbolics C compile directly to 3600 machine code or does it go indirectly
via Lisp? (I think I heard that Symbolics C is no longer supported but what the hell...)

       Eric C. Weaver
       & Assocs., Inc.


    how about the lisp -> C converter?  This one could be of some interest and use to me...

    Anybody know anything about that one?

    monty
    kosma@alan.decnet.lockheed.com

First of all there is KCL, (Kyoto Common Lisp). It is a full implementation of Common Lisp
written by a professor at Kyoto University. It works by compiling Lisp into C and then
compiling the C using one of several Unix C compilers. I am under the impression that
it is reasonably portable accross Unix systems though I have never looked at the internals.
Much of the dynamic linking/loading stuff (the LOAD primitive) however, is very Unix,
though not machine, dependent. I am also under the impression that KCL is in the public
domain, or at least is very inexpensive.

There are at least two derivative of KCL. First, a company called Ibuki sells a commercial
version of KCL called IBCL (Ibuki Common Lisp). I don't know much about it and how much they
have modified or tried to improved upon KCL. Second, the University of Texas as Austin
has significantly enhanced KCL yielding a version called AKCL (Austin Kyoto Common Lisp).
I have used AKCL to compile a 40 page program Common Lisp which I developed on the Symbolics
to run on an HP 68020-based Unix box. The only hitches I uncovered were places where I
violated the Common Lisp spec. I think that AKCL is also in the public domain. I think
you can get a copy by anonymous FTP from CLI.COM but I don't remember the directory offhand.

A fourth option is a LISP to C translator sold by a company called Chestnut Software, Inc.
636 Beacon Street Boston MA 02215 617/262-0914 William Brodie, President. They claim that
it does most of Common Lisp and produces code which is four to five times better than KCL.
I saw a large (2Mbyte source code) natural language system run on a 386PC with only
512Kbytes of main memory and no virtual memory. It does that via automatic overlaying and
seemed to run well.

A fifth option which I know little about is that I read in SunTech Journal (Summer 1989)
about a company called NLI which developed a natural language database front end to run
on Sun's. They claimed that they wrote the system originally in Lisp and translated it
automatically into C for delivery. There was no mention of how they did the translation
i.e. whether it was a proprietary, or commercially available tool.

A sixth option is that I heard a rumor that Thinking Machines also wrote a Lisp->C
translator, but that is only a rumor.

Anybody, know of any more Lisp-C translators floating around out there?
        Jeff