> No, sorry. As far as I know, in SPAD, > > => iterate (in fact, not sure about that one) > > => "next" > > => "iterate" > > => nil > > => "leave" > > are all equivalent. And I proposed to make them all the same. The semantics > of => should *not* be changed.
Of course the semantics is the same. The first should be preferred, because it says something about the loop that contains the block. All of the other forms are just of the type => somevalue; That said, it would be also equivalent to write => 42; in this place. So in for a in list repeat (x; condition => somevalue; y) somevalue is irrelevant. This form just says that y is not evaluated if condition is true. Clearly, in a loop all forms except "=> iterate" are confusing. As I learned from this thread, the leave keyword from SPAD has already been replaced by the break keyword. By the way, SPAD has another place where something looks like a string literal and is actually meant to be a function name. See catdef.spad. AbelianSemiGroup(): Category == SetCategory with --operations "+": (%,%) -> % ++ x+y computes the sum of x and y. "*": (PositiveInteger,%) -> % add ... Or does SPAD allow to write "+*": (%, %) -> % and then use "+*"(x,y) ? ------------------------------------------------------------------------- Check out the new SourceForge.net Marketplace. It's the best place to buy or sell services for just about anything Open Source. http://ad.doubleclick.net/clk;164216239;13503038;w?http://sf.net/marketplace _______________________________________________ open-axiom-devel mailing list open-axiom-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/open-axiom-devel