I'm doing my development using CLISP/Win32 + Emacs + SLIME. While
this environment satisfies me most of time, there's one serious
annoyance: CLISP doesn't store argument names for compiled functions, so
SLIME shows only stuff like (arg0 arg1 &rest other-args) as function
arguments. This is very inconvenient IMO.
I've solved this problem for standard Lisp functions/macros using
cldoc ( http://homepage1.nifty.com/bmonkey/emacs/elisp/cldoc.el ), but I
don't see any good way to make SLIME display understandable argument
lists for my/library functions/macros. How do CLISP users deal with this
problem?
Thanks in advance,
Ivan
Ivan Shvedunov <·······@depni.sinp.msu.ru> writes:
> I'm doing my development using CLISP/Win32 + Emacs + SLIME. While
> this environment satisfies me most of time, there's one serious
> annoyance: CLISP doesn't store argument names for compiled functions,
> so SLIME shows only stuff like (arg0 arg1 &rest other-args) as
> function arguments. This is very inconvenient IMO.
> I've solved this problem for standard Lisp functions/macros using
> cldoc ( http://homepage1.nifty.com/bmonkey/emacs/elisp/cldoc.el ), but
> I don't see any good way to make SLIME display understandable argument
> lists for my/library functions/macros. How do CLISP users deal with
> this problem?
I debug without compiling...
--
__Pascal Bourguignon__ http://www.informatimago.com/
Nobody can fix the economy. Nobody can be trusted with their finger
on the button. Nobody's perfect. VOTE FOR NOBODY.
From: Edi Weitz
Subject: Re: Arguments of compiled functions in CLISP
Date:
Message-ID: <uvf7hmdgw.fsf@agharta.de>
On 24 Mar 2005 12:36:26 +0100, Pascal Bourguignon <····@mouse-potato.com> wrote:
> I debug without compiling...
The question was not about debugging but about /using/ functions. You
don't want to use each and every library interpreted just to keep the
names of the arguments.
Cheers,
Edi.
--
Lisp is not dead, it just smells funny.
Real email: (replace (subseq ·········@agharta.de" 5) "edi")
Edi Weitz <········@agharta.de> writes:
> On 24 Mar 2005 12:36:26 +0100, Pascal Bourguignon <····@mouse-potato.com> wrote:
>
> > I debug without compiling...
>
> The question was not about debugging but about /using/ functions. You
> don't want to use each and every library interpreted just to keep the
> names of the arguments.
I guess that not keeping this information in compiled code is one of
the things that make clisp images so small compared to sbcl or cmucl...
(another important one is the lisp-oriented byte-code vs. x86).
--
__Pascal Bourguignon__ http://www.informatimago.com/
Our enemies are innovative and resourceful, and so are we. They never
stop thinking about new ways to harm our country and our people, and
neither do we. -- Georges W. Bush
Pascal Bourguignon wrote:
> I guess that not keeping this information in compiled code is one of
> the things that make clisp images so small compared to sbcl or cmucl...
> (another important one is the lisp-oriented byte-code vs. x86).
I think it would be better if there was an option to keep such info
(which can be turned off for application delivery), as image size
usually is not a big issue during development. BTW, CLISP doesn't seem
to keep any info at all for compiled macros, so SLIME cannot get
indentation hints from &body args etc.
A possible solution would be to write some "tag extractor" for source
code that would look for defuns and defmacros in toplevel forms,
macroexpanding stuff as necessary, and then let SLIME use this info. But
unfortunatelly I don't have time to write such utility at the moment.
And of course it's much more convenient when Lisp itself can "remember"
such information.