Why do you prefer to work with Maxima?



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>;