Lazy evaluation

CESS.tk I was wondering, does the interpreter use lazy evaluation for logic statements or not?
I'll prolly never need this, but you never know.

[size=1](should I explain 'lazy evaluation')[/size]
sonneveld ok, I looked up lazy evaluation and I *think* it means if you have a function, it only evaluates the arguments when it needs it.

AGI's cmds only accepts constants or variable addresses so it doesn't really need to decide whether or not to evaluate something.

if you have something like addv(v10, v50+v20); (which you can't do in the current compiler, but you can in my compiler), the compiler doesn't know if the command will need it or not (well, it's a safe bet it does) so it evaluates all arguments.

However, if you have something like if (f10 | f50 | f40) and f10 is true.. then the interpreter won't bother evaluating the rest of them. it just automatically skips them.

umm.. I hope that helped.

- Nick
CESS.tk Yep, that's exactly what I meant.
I'm learning Java for the moment and it's very useful for preventing those irritating ArrayIndexOutOfBoundsExceptions. They're pure evil!

[edit]And a big thank you to you, sir![/edit]