Comment 1 for bug 164889

Revision history for this message
Abdulaziz Ghuloum (aghuloum) wrote :

This is a runtime error (in eval) so you might actually get an error in foo, bar, or baz whichever is evaluated first. If you were inside a library/script, you would've gotten an an error in foo. In your example, foo was actually successfully imported into the top-level and was given an "uninitialized" value, and so was bar and baz. That's why you'd get a conflict when you attempt to import a library that exports foo, as in bug 162785 :-)

Ikarus (usually) evaluates the operator of a procedure call after all arguments have been evaluated, and the arguments are evaluated in some order depending on the arguments themselves.