Ron,
> but how do you save and load user-defined functions such as the one
> above? Thanks.
There are a couple of options.
(1) save("my.stuff", f, g, h);
writes definitions of functions f, g, h (and any other stuff specified)
to my.stuff as Lisp expressions. load("my.stuff") reads the stuff.
(2) grind(f) pretty-prints the definition of f (as a Maxima expression).
You could cut-n-paste it, or write it to a file by
with_stdout("my.stuff", grind(f)) .
(There is also stringout, which saves stuff as Maxima expressions.
However, stringout("my.stuff", f) doesn't write the definition of f;
that should probably be considered a bug. But
stringout("my.stuff", functions) does write the definitions of all
user-defined functions.)
Hope this helps,
Robert