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

Chestnut Software's Lisp-to-C Translator



    Date: Mon, 30 Apr 90 10:45:54 PDT
    From: kosma%human-torch@STC.LOCKHEED.COM (Monty Kosma)

       Date: Fri, 27 Apr 90 16:11 PDT
       From: pwtc!fikes@labrea.stanford.edu (Richard Fikes)

       I recently received a sales packet from Chestnut Software, Inc., located
       in Boston, advertising a Lisp-to-C translator.  Anyone had any
       experience with them or their product?  Any other recommendations for a
       good Lisp to C translator?

       Thanks,
       Richard Fikes

    good question--I've just been looking for the same thing.  One thing
    I'm thinking about doing is porting Kyoto Common Lisp (basically a CL
    to C translator from what I've heard) to the amiga.  I have basically
    no idea yet what this entails since I just ftp'ed the KCL source and
    haven't had a chance to look at it...

    monty
    kosma@alan.decnet.lockheed.com

We're currently evaluating the Chestnut product, and so far it looks
good.  They maintain code readability by representing lisp objects in
their C-based runtime environment.  As I understand it, this is the main 
drawback of using KCL for translation - the generated C code reads like
complete gobbledygook from reports that I've heard.  I also have heard
of more than one failed attempt to use KCL as a translator.

Chestnut translation runs quite quickly.  We don't know much about their
runtime system, but my suspicion is that it will require tuning away of
most consing for decent performance (this is a guess, based on zero
experience using their runtime system).  

The main lossage in translating via Chestnut is a loss of abstraction
due to the fact that macros are expanded in the lisp world prior to
translation.  This encourages the lisp hacker to write macros that
expand into readable code (not necessarily a bad thing to do anyway). 
There may be some of the same lossage w.r.t. CLOS, but we don't know
yet, since their CLOS implementation isn't complete at this time.