> But that leaves the question open... I could find no way to
> use EV and its various flags or anything else for that matter
> to just cause all noun forms in an expression to be replaced
> with verb forms. My problem can be demonstrated through a
> simple example....
I hadn't thought about the recursive case. But for your example, it
seems to me that what you really want is not a way of substituting verbs
for nouns, but essentially to do ev(...,nouns) except not recursively.
What you're really trying to do, I think, is to write your own
*simplifying* (as opposed to evaluating) functions, just like Maxima's
built-in functions. Maxima does not offer any way for users to write
simplification routines at the Maxima level (as opposed to the Lisp
level), and I think this is unfortunate. Have you looked into using
pattern-matching instead of functions? I don't know if that meets your
needs, and I admit that I find Maxima's pattern-matching a bit clumsy,
but it may be a better solution than to try to use the noun/verb system
as a substitute for simplifying functions.
For that matter, if you explained your global problem to us, perhaps we
could find another approach that would work better within the Maxima
framework. You seem to be a Lisp programmer, so perhaps the right
solution is to write your own simplifying routines? It's not that hard.
Take a look at, say, simpabs for an example.
-s