[editor-hints-devel] Re: Initial message to create gmane.lisp.editors.hints.devel group.
Tobias C. Rittweiler
tcr at freebits.de
Fri Jan 18 08:54:13 UTC 2008
Michael Livshin <gmane at cmm.kakpryg.net> writes:
> that said, some sort of an overall vision would be nice. :)
Lisp has traditionally been a very interactive language. Yet Common Lisp
doesn't specify much with respect to interplay between language and
(user) environment. The specification does contain a very humble
Environment chapter that inclusion was supported by the standardization
commitee to signal the message that environmental interactivity is
wished for.
Editor-hints is supposed to become an interface between the language
Common Lisp and Lisp development environments.
-T.
P.S.:
Its current TODO list looks as follows:
* Named readtables:
Create a namespace for readtable analogously to that of packages.
`(IN-READTABLE :FOO)' are supposed to be recognized by editors,
to properly deal with different readtables when evaluating stuff.
* Indentation:
Add a facility to specify how symbols are supposed to be indented.
I.e. something like a DECLAIM-INDENTATION (being based upon a
PROCLAIM-INDENTATION function) which store indentation information
in some retrievable way. So that editors can rely on that
information from a running Lisp image.
This requires some research about the indentation specification
schemes that different Lisp systems (Lisp machines, Symbolics'
Genera, GNU Emacs, Lispworks, AllegroCL) use. And then define
a practical denominator.
* Documentation retrieval:
Add the facility to support project-specific documentation
retrieval on a per symbol basis.
It's common that editors provide the possibility to quickly visit
the respective CLHS site for a symbol. But this doesn't work on
symbols not defined by ANSI.
* Pretty docstrings:
Add support for using markup in docstrings.
Also detach too elaborate docstrings from the actual
function/macro/&c definition.
* Source locations:
First class source locations; for instance imagine a
(DEFINE-ELABORATE-DOCUMENTATION FOO ...)
macro that registers documentation (in CLHS style, for example) to
the symbol FOO, and which can be retrieved via
(DOCUMENTATION 'FOO 'ELABORATE-DOCUMENTATION)
Now, an editor may also want to provide M-.ness for this stuff,
i.e. to enable the user to easily jump to the
DEFINE-ELABORATE-DOCUMENTATION definition. For that to work, the
above macro should expand to something that registers its source
location into a a weak hash-table from symbols to source
locations, such that the editor can consult that hash-table by some
specified interface.
More information about the editor-hints-devel
mailing list