Today on #perl6 I complained about the fact that this is always
inelegant:

        if ($condition) { pre }

        unconditional midsection;

        if ($condition) { post }

Either you put the condition in a boolean var and check it twice, or
you use a higher order function and give it three blocks, and the
conditional. But no matter how much we try, it always feels too
"manual".

I asked for some ideas and together with Aankhen we converged on the
following syntax:

        if ($condition) {
                pre;
        } uncond {
                middle;
        } cond {
                post;
        }

s/uncond/<<pause regardless>>.pick/e;
s/cond/<<resume again>>.pick/e;

Some restrictions:

The block structure must always be ternary - for other cases we
already have enough control flow.

The if is not the same if that can cuddle with else - it's either
or.

Does anybody have any comments, or synonyms for the control
structure naming?

BTW, I expect readability to be optimal with 1-2 lines of pre/post,
and 1-5 lines of middle. Any observations?

-- 
 ()  Yuval Kogman <[EMAIL PROTECTED]> 0xEBD27418  perl hacker &
 /\  kung foo master: /me groks YAML like the grasshopper: neeyah!!!!!!

Attachment: pgpiJFUwn2ZnX.pgp
Description: PGP signature

Reply via email to