"Oh, it's got lots of Japanese in it, I'd better read it..." :)

[EMAIL PROTECTED] (Larry Wall) writes:
> Some will argue that since English doesn't have a grammatical
> postfix topicalizer like Japanese, we should stick with something
> like more English-like:
> 
>     $x = (.a + .b + .c given $foo)

I think I'm missing something here. We have "given" as a perfectly good
topicaliser. Now, I remember harping on a while ago about generalizing the
idea of some control structures returning values, such as $x = if $a { $b }
else { $c };

Now if we do generalise that, we get

   $x = given $foo { .a + .b + .c };

which gives us the topic-in-front form, the "given" which is the standard way
of declaring the topic, and it's all nice.

>     my Dog $dog wa= .new;

Urgh. This reads like you're topicalising a $dog, assigning to it and
acting on it all at the same time. Too many particles!

    my Dog $inu wa ga o new desu; #  ? :)

> So you could usefully say something like
> 
>     $modthingie wa %= .modulus;

Hrm.

    given($modthingie) %= .modulus;

might work, but it relies on a few pieces of underlying magic, none of which I
believe to be over-the-top in themselves but taken together may leave a bad
taste:

    control structures return a value, as above
    given takes an optional block, purely setting the topic if no block
    the topic persists throughout a statement

> if operator it is.

I don't think it's an operator so much as a function. It sets the
topic and, depending on how things turn out, returns either void or
the topic again.

-- 
teco < /dev/audio
    - Ignatios Souvatzis

Reply via email to