On 2013-06-13, Stavros Macrakis <macrakis at alum.mit.edu> wrote:
> The Maxima convention is that anything that is non-atomic should have a
> symbol as its caar, that is, be of the form ((<operator> <flags>...) ...).
> That is why MQAPPLY was invented -- to apply non-symbols to arguments.
OK -- that means that 'substitute' is constructing an expression that
doesn't follow the convention, and it's just lucky that the nonatomic
caar gets simplified away (by evaluating the lambda expression) before
it causes an error.
best,
Robert Dodier