On 29/09/2012 1:56 AM, Stavros Macrakis wrote:
> On Fri, Sep 28, 2012 at 10:49 AM, David Billinghurst
> <dbmaxima at gmail.com <mailto:dbmaxima at gmail.com>> wrote:
>
> I am struggling to understand the relationship between lisp and
> maxima properties on functions.
>
>
> There is no /direct/ relationship. The function $properties (with its
> helper function properties) tries to pull together the various kinds
> of Maxima properties of a symbol from wherever they live into a single
> list. Its code is probably the best answer to your question. There
> is no simple, direct relationship between the Lisp property list
> (symbol-plist) and the various Maxima property lists ($get/$put,
> $declare, etc.). The properties reported on by $properties are not
> settable in any uniform way.
>
> With some work, you could probably tease out the stratigraphy of the
> creation of these various systems, but it might be more useful to
> focus on the specific problem you are trying to solve.
>
> -s
Thanks. The lisp function properties in outmis.lisp shows the mapping
for the properties of interest.
(assoc (car y)
`((bindtest . $bindtest)
(sp2 . $deftaylor)
(sp2subs . $deftaylor)
(assign . "assign property")
(nonarray . $nonarray)
(grad . $gradef)
(integral . $integral)
(distribute_over . "distributes over bags")
(simplim%function . "limit function")
(conjugate-function . "conjugate function")
(commutes-with-conjugate . "mirror symmetry")
(risplit-function . "complex characteristic")
(noun . $noun)
(evfun . $evfun)
(evflag . $evflag)
(op . $operator)) :test #'eq))
I am interested in accessing some of these properties - for example
integral - at the maxima level, as is done for gradef.