State-Changed-From-To: open-analyzed State-Changed-By: Manu State-Changed-When: Wed Jan 31 14:06:53 PST 2001 State-Changed-Why: Dear Grant, Thanks for your message. I will try to answer all points in different emails. For the moment, I would just like to discuss the issue between and/and then and or/or else. This is indeed the case that in ISE Eiffel and/and then and or/or else do the exact same thing. The semantic as explained in ISE Eiffel is the following. When you write: - and then / or else: the compiler garantees that the second part of the boolean expression will be evaluated only if the first one is true in case of `and then', or if the first one is false in the case of `or else'. - and / or have the following semantic: it is up to the compiler to decide in which order those expression will be evaluated at run-time. ETL does not specify that and/or should evaluate both left and right boolean expression. This is a compiler freedom for optimization. Hope this is helpful,