From: Ivan Shvedunov
Subject: Arguments of compiled functions in CLISP
Date: 
Message-ID: <3afbj7F6b0khfU1@individual.net>
   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

From: Pascal Bourguignon
Subject: Re: Arguments of compiled functions in CLISP
Date: 
Message-ID: <871xa5xolh.fsf@thalassa.informatimago.com>
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")
From: Pascal Bourguignon
Subject: Re: Arguments of compiled functions in CLISP
Date: 
Message-ID: <87d5tpxlil.fsf@thalassa.informatimago.com>
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
From: Ivan Shvedunov
Subject: Re: Arguments of compiled functions in CLISP
Date: 
Message-ID: <3afrphF6952fhU1@individual.net>
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.