functions from add-on packages, was: Newbie question: testing for lvalue
Subject: functions from add-on packages, was: Newbie question: testing for lvalue
From: van.nek at arcor.de
Date: Tue, 30 Jan 2007 08:45:00 +0100
Am 11 Jan 2007 um 22:15 hat Robert Dodier geschrieben:
> Hi Volker, sorry for the late reply.
Hi Robert, now it's my turn to answer late.
I agree, the autoload mechanism would be an appropriate solution here.
How is autoloading implemented? I found src/max_ext.lisp. For example some functions
from the simplification package get their autoload property in there. Is this the usual way?
You mentioned, the functions from linearalgebra and stringproc should be added. Do you
have some more in mind?
All the best
Volker
> > if there is no example included in the documentation of a function,
> > which shows that a load("add-on") is necessary, the user in a lot of
> > cases gets no information, that this function is from an add-on package.
> >This is true for stringproc and a lot of others.
>
> I think we can afford to be much more liberal with the autoload
> mechanism. The only reason that I can see to make the user
> explicitly enter load(foo) is to prevent name collisions, so, e.g.
> if the user has some foo(x) in an expression it doesn't cause some
> obscure share package to be loaded.
>
> Name collisions are a real problem, but on the balance I think
> more share packages can be autoloaded, including stringproc.
> linearalgebra is another candidate.
>
> > Should we revise the add-on package documentations and add
> > a "please load(xyz) first" to every function definition or is there a
> > possibility, that describe itself gives a short information, like
> >
> > (%i1) ? stringp
> > 0: lstringp (Definitions for strings, add-on package stringproc)
> > 1: stringp (Definitions for strings, add-on package stringproc)
>
> I guess I'm hesitant to put the package name in the @node
> title, because if we make more functions autoload as I've
> suggested above, there isn't any visible consequence of the
> package organization from the user's point of view; it's all just
> "Maxima".
>
> For packages which aren't autoloaded ... well, we should be
> more careful to put "Hey, load(foo)" in the text.
>
> Hope this helps
> Robert
> _______________________________________________
> Maxima mailing list
> Maxima at math.utexas.edu
> http://www.math.utexas.edu/mailman/listinfo/maxima