[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Using lisp code in emacs inside a C program
From: |
gnuist007 |
Subject: |
Re: Using lisp code in emacs inside a C program |
Date: |
Fri, 26 Oct 2012 10:24:22 -0700 (PDT) |
User-agent: |
G2/1.0 |
On Oct 25, 11:00 pm, William Gardella <gardell...@gmail.com> wrote:
> Rivka Miller <rivkaumil...@gmail.com> writes:
> > \begin{quotation}
> > ECL (ECL for short) uses standard C calling conventions for Lisp
> > compiled functions, which allows C programs to easily call Lisp
> > functions and vice versa. No foreign function interface is required:
> > data can be exchanged between C and Lisp with no need for conversion.
> > \end{quotation}
>
> > How did ECL achieve this?
>
> > R
>
> Not to oversimplify too much, but a compiled ECL function *is* a C
> function. The Debian description of the package lists among its
> features:
>
> > ECL stands for Embeddable Common-Lisp. The ECL project is an effort to
> > modernize Giuseppe Attardi's ECL environment to produce an implementation of
> > the Common-Lisp language which complies to the ANSI X3J13 definition of the
> > language.
> > The current ECL implementation features:
> > * A bytecodes compiler and interpreter.
> > * A translator to C.
> > ...
>
> So it's like similar initiatives for Pascal, FORTRAN, etc.--the end
> result is a C program that you can poke at with tools designed to work
> with C (binutils, gdb, etc.) and which can communicate natively with C
> functions. I've not used it and have heard mixed reviews (mostly on
> #emacs) about its performance relative to other compiled CL
> implementations. But if what you need is Lisp inside C, it seems this
> is your bet--it can even be used to make C shared libraries, it looks
> like.
>
> Chicken, being an R5RS-to-C compiler, has similar aspirations for the
> world of Scheme.
>
You didnt answer her question on the computer science of translation,
code flow graphing, or any useful aspect than advertising your Chicken
and she posted only on this newsgroup, while I wanted it to be in the
related newsgroups. Maybe someone can give the pertinent referenecs to
key useful papers.
G