On Thu, Aug 07, 2008 at 06:15:07PM +0200, TSa wrote:
>>  Do you write
>>
>>     $a lt:lc $b le:lc $c
>
> I think that works and looks best. My favorite hope is that
>
>    $x = log:2 $y;
>
> flies, as well.
>
>    $x = log:base(2) $y;
>
> is a bit lengthy and
>
>    $x = log $y, :base(2);
>
> looks more like a two element list assigned to $x.

That's because it *is* a two element list.  In the current scheme of
things, you have to put:

    $x = log $y :base(2);

The point being that adverbs are recognized only where an infix is
expected.  Otherwise they're just pairs used as nouns.  Currently
after "log" a term is expected, so log:base(2) would be parsed
as log(:base(2)).  The whitespace proposal is essentially to
require whitespace between any operator any following pair if the
pair is intended to be a noun and not an adverb.  We actually
thought of this years ago in the design meeting and rejected it at the
time because, in particular

    123,:foo

would surprise a lot of people by looking for the ",:foo" operator.
But maybe we could put in an exception for confusing forms that
are guaranteed not to work.  I can't imagine why anyone would want
a ",:foo" operator, for instance.  Doubtless there are other confusing
operators though.

Alternately, we could force everyone to put space after comma.  :)

Larry

Reply via email to