From: Stavros M. <mac...@al...> - 2022-01-13 14:11:58
|
Simplification does not happen as a separate step after evaluation of the whole expression. Every subexpression that is evaluated is immediately simplified. Maxima couldn't possibly work otherwise. Obviously we need to be review our documentation more carefully to keep such howlers out! Using :lisp #$ ... $ seems pretty roundabout. To turn off simplification, set *simp:false*. To prevent evaluation, use *'( ... )*. To show the internal form of something, use *?print(...)*. Here's a neat trick: within *lambda* expressions (as well as named function definitions), neither simplification nor evaluation is performed, so *q: lambda([simp], ?print(2+2)) *might help you see how things work; look at *q*, and call *q(false) *and *q(true)* . |