Klaas-Jan Stol wrote: > On Mon, Nov 10, 2008 at 11:03 PM, chromatic <[EMAIL PROTECTED] > <mailto:[EMAIL PROTECTED]>> wrote: > On Monday 10 November 2008 18:09:21 Vadim Konovalov wrote: > > > Why a simple syntax sugar is not invented to introduce a couple of > > macro-like straightforward expansions > > > > if COND { > > } > > > > transform to > > > > unless COND goto AUTOGEN_LABEL_XXX > > ..... > > AUTOGEN_LABEL_XXX: > > That moves PIR further away from a labeled, line-oriented assembly > language. > I'm not saying that's good or bad, but it's a big change.
Last I checked, those macros were not stable (particularly when embedding one control structure within another), and not recommended for general use. That could have changed. > I understand that it might be more readable for some, but IMHO there's 2 > reasons not to introduce this (and the 3rd is mentioned by Coke: HLLmacros): > 1. PIR is an assembly language, albeit with a rich syntax > 2. Long-term, PIR will not really be used *that* much; as soon as HLLs > are running fine on Parrot, there's little reason to program in PIR. Also, any semantics we choose for conditional and iterator control structures would be a good match for some small set of HLLs, but wrong for all the others. The basic conditional branches give any HLL the tools they need to build their set of control structures, in a way that any other HLL can run without difficulty (under-the-hood they're all just simple conditional branches to labels). Being language agnostic, with powerful tools for building any language you want, is one of the core principles of Parrot. Allison _______________________________________________ http://lists.parrot.org/mailman/listinfo/parrot-dev
