For language standarization, I think keeping it backwards compatible is going to be a priority. This language is going to be (at least initially) used primarily by those people currently familar with MOO, and I don't see any real purpose to making them have to remember a seperate syntax. while the if/endif may look less than optimal (and can be a noticable decrease in typing speed while coding) it does work, and makes the parser that much simpler.
Personally, I consider that to be futile. There are too many serious mistakes in MOO, so backwards compatible versus progressive is a hard choice.
The biggest problems with MOO is the lack of multiple inheritance, the cooperative threading model, and the separate namespaces for verbs and properties. The last one especially is a particularly tricky, since the sanest interpretation of a verb is simply to consider "compiled code" an atomic datatype, and have a compile() builtin which returns this datatype:
object.verb = compile("source code");
This would allow simple generalizations; for example eval() now becomes something like:
compile("source code")(arguments);
(add error handling, and you get the idea.)
-hpa
############################################################# This message is sent to you because you are subscribed to the mailing list <[EMAIL PROTECTED]>. To unsubscribe, E-mail to: <[EMAIL PROTECTED]> To switch to the DIGEST mode, E-mail to <[EMAIL PROTECTED]> To switch to the INDEX mode, E-mail to <[EMAIL PROTECTED]> Send administrative queries to <[EMAIL PROTECTED]>
