[pro] definitional home

Mark H. David mhd at yv.org
Mon Mar 28 20:24:28 UTC 2011


Yeah, that would be great.  We had a bit of a discussion of this sort of 
functionality on the slime-devel mailing list.
Nobody had any easy answers, even for just SBCL and CCL, which I would 
have settled for.
It was also pointed out that there's a basic first level of 
functionality, permitting meta-. to work.
Then, the next level preserves source location of subforms of a body of 
Lisp code to support "PC to Source" mapping.
This doesn't seem all that hard to do at least a first-level version, at 
least with the stuff SLIME can already do.
And then encapsulating it in a Library would be great.  Excellent 
library candidate.
Hope someone will do this -- it will be really worthwhile and make a lot 
of developers happy.


On 3/28/2011 3:10 PM, Ben Hyde wrote:
> On Mar 28, 2011, at 11:14 AM, Mark H. David wrote:
>> Can you explain a bit what you mean by this?
>
>
> My example.  Say I have a macro for defining widgets and I use it I 
> define cool-widget on line N of file foo.lisp like so:
>
>    (define-widget cool-widget ...)
>
> In the wonderful world which is my imagination I should be able to 
> meta-dot the symbol cool-widget
> and shortly there after find my self visiting line N of foo.lisp.
>
> This presumes that each implementation supports the concept of 
> definition homes for - a mapping from
> keys of some sort (typically a symbol) to source location(s).   The 
> author of define-widget would add
> entries to that mapping.  The IDE (slime say) would query that mapping.
>
> The author of define-widget might write something like so:
>
> (defmacro define-widget (name ...)
>     ...
>     `(progn
>          (take-note-of-definitional-home ,name ... :widget ...)
>          ...))
>
> The kind implementor of the 'implementation independent library that 
> abstracts out the
> recording of the "definitional home"' would know how to map the 
> arguments to take-note-of-definitional-home
> into something that actually adds/revises an entry into the 
> implemenation's mapping.
>
> It would be a wonderful world, yes it would.
>
>  - ben
>




More information about the pro mailing list