# Re: [Fwd: Re: junctions and conditionals]

```On Wednesday, April 01 2009 07:38 am, Richard Hainsworth wrote:
> Right now, yes.  I'm arguing that the way that they're designed to
> work doesn't DWIM.  Try a slightly different example:
>
>     0 <= \$x <= 1 # 0 is less than \$x is less than 1.
>     \$x ~~ 0..1 # \$x is in the range of 0 to 1.
>
> I submit that most people would expect these two statements to be
> conceptually equivalent to each other: they may go about tackling the
> issue from different angles, but they should always end up reaching
> the same conclusion.  But as things stand now, if \$x = -2 | 2, these
> result in two very different conclusions: the first evaluates as true,
> the second as false.  This most certainly doesn't do what I mean until
> I have been indoctrinated into the intricacies of Perl and learned to
> think like it does - which runs directly counter to the principle of
> DWIM.```
```
When you say DWIM, I take it you mean that there is an assumption that \$x is a
point in a field (http://en.wikipedia.org/wiki/Field_theory_(mathematics)).
As you have illustrated, junctions do no form a field.

You would run into the similar problems if \$x was a point in a ring
(http://en.wikipedia.org/wiki/Ring_(mathematics)).   Consider the ring of
"integers modulo 8":
my Ring8 \$x = 5 + 3;            # evaulates to "0"
say "OMG, its 0!" unless \$x;    # prints the message
which does not DWIM if I am expecting \$x to be part of a field.

Maybe the problem is that junctions are too easy to create, which is causing
people to confuse the "mathematical" structure of the space created by using
a junction with that of the structure of the space of the underlying
(non-junctioned) object.

Regards,
Henry
```