Hypergeometric function notation



On 7/29/08, Richard Fateman <fateman at cs.berkeley.edu> wrote:

> The issue here is that the properties of functions are generally stored on
> the property lists of the associated symbols. That is, the simplification
> for sin() is on the property list of the symbol $SIN, in the lisp system.
> similarly for declarations.

>  Perhaps all function calls that attempt to get the simplification (or other)
>  properties of operators can be made more elaborate, checking for
>  symbol-ness, and otherwise checking somewhere else (probably
>  a hash table of some sort.)

Yeah. I've thought about a hash table for properties to allow keys to
be something other than symbols, but I have to admit that just
using the symbol property list is very simple and very useful,
hard to beat that.

Maybe a compromise is to let subscript expressions inherit
properties from the unsubscripted symbol, e.g. x[1] inherits
from x. That's limited, but maybe useful, and it doesn't interfere
with the current symbols-only scheme. From what Stavros says
there is already a scheme like that to handle simplification of
subscripted functions.

Robert Dodier