Steve Haflich <smh at franz.com> writes:
> Rupert Swarbrick <rswarbrick at gmail.com> wrote:
>
> If you're happy to actually run the program, you can do even better
> using SLIME. ... This is somewhat more robust than using a tags file.
>
> I dispute your conclusion. Tags files and in-lisp source-file recording
> both work, but have different strengths and weaknesses.
>
> For swank to work, the particular Lisp must be capable of recording
> source-file locations, and that feature might need to be enabled as an
> option. (One might not _always_ want the data to clutter up the heap.)
> As is so often the case with Maxima users, you give careful instructions
> how to do something using _your_ chosen Lisp implementation without even
> identifying which one it is!
Ok, sorry! I tend to use SBCL on Linux. That said, the
cross-implementation support in SLIME is pretty stunning. I believe what
I described works in at least ecl, cmucl (of course), ccl and clisp.
> For tags file to work, the code must conform to reasonable formattig
> conventions, but those are the ones programmers normally use. Tags
> files support very efficient traversal of entire source trees, finding
> all references to something, even a regexp. Merely finding the source
> for a function doesn't show all the calls, or all the references to
> slots of a structure. Tags files also work across systems implemented
> in multiple languages.
Ok, but references and things tend to be tracked by slime too (C-c C-w
C-c and friends, if I remember correctly). I'm always a bit wary of that
sort of thing missing references though, so I tend to end up grepping
the source tree.
> Both kinds of recording have to deal with entities having distributed
> implementation, e.g. generic functions or operators that have both a
> function/macro definition and a compiler macro. Tags files probably
> deal much better for definitions that have #+foolisp conditionalizations
> for different platforms.
That makes sense, basically because tags files don't understand such
constructs. Although I'm not convinced that ignoring them is dealing
with them "better".
> As I said, both kinds of indexing have their uses.
Yep, no doubt. But every time I make a tag file, intending to use it, I
don't end up doing so. Maybe this is a failing on my part!
Rupert
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 315 bytes
Desc: not available
URL: <http://www.math.utexas.edu/pipermail/maxima/attachments/20121128/3f954975/attachment-0001.pgp>