# [Maxima] how to write in a block(?) a very long "block", of statements

Michel Van den Bergh michel.vandenbergh at uhasselt.be
Thu May 31 00:21:18 CDT 2007

```I meant to say that both ev and meval should be recursive.  Consider the
difference between
a:b;
b:c;
a;
maxima: b
and
b:c;
a:b;
a;
maxima: c;

I know why that's true but I would consider it much more natural if
both returned "c". I *think* that's what Maple does (no access
to a Windows computer at present).

Here is another example:
f:x^2+3*x+2;
x:5;
f;
maxima: x^2+3*x+2

I claim this is non-intuitive (and when I started using maxima it
actually took me
quite some time to understand precisely what goes on).

This being said, making meval recursive is impossible in maxima for
implementation reasons (dynamic binding of variables).

Michel

>
> I am not sure what the "even in the read-eval-print loop" part of this
> is supposed to mean.  The command-line syntax "foo, bar" is just
> syntactic sugar for ev(foo,bar), so of course ev will have the same
> behavior in either case.  Or are you conflating ev and the Maxima
> evaluator (internally called meval)?  They are not the same thing.
>
>
>
```