On 12/23/05, TSa <[EMAIL PROTECTED]> wrote:
> HaloO Everybody,
>
> here's a an idea from me about makeing range object a bit like
> junctions. That is a range object has a $.min and $.max and the
> following comparison behaviour:
>
> str  num
>
> lt   <   strictly inside  ---------+
> gt   >   strictly outside  ------+ |
> eq   ==  exactly on boundary --+ | |
>                                 | | | negation
> ne   !=  not on boundary     --+ | |
> le   <=  inside or on boundary --+ |
> ge   >=  outside or on boundary ---+

This bugs me almost as much as junctions bug me, because you're
messing with the laws of comparisons.

    my $a = 1..10;
    2 < $a;    # true
    $a < -5;   # true
    2 < -5;    # false

In fact, it might even bug me more.  I'm a proponent of the idea that
one name (in a particular scope) is one concept.  We don't overload +
to mean "concatenation", we don't overload << to mean "output", and we
don't overload > to mean "outside".

Supposing you fixed those operators, I really think that this is a job
for a module.  All the syntax and semantics you propose can be easily
implemented by a module, except for the basic definition of "..". 
Maybe you could make it your first Perl 6 module?

Luke

Reply via email to