apply_nouns



> Applying means calling the function on its arguments.

Gotcha. Thanks for that clarification!

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. Let's say I have a function that
provides a result for some arguments, but returns the unevaluated function
in other cases. For instance:

foo(x):=IF x>0 THEN sqrt(x) ELSE 'foo(x);

The problem with this is that if I have the quoted form appear in an
expression with a negative argument, and I use EV %,NOUNS, I get a stack
overflow since Maxima attempts to recursively evaluate the quoted form:

'FOO(-3);
%,NOUNS;

What I attempted with apply_nouns was to solve this problem by providing a
function that simply replaces noun forms with verb forms, but does not
attempt any evaluation.

Thanks to your clarification, I now realize that I may have misunderstood
the original intent of APPLY_NOUNS. That begs the question, however, that if
my assessment is correct and what I want to do with my new function cannot
be done any other way, what should this new function be called?


Viktor