On Fri, 18 Feb 2005 23:12:40 +0100, Eirik Berg Hanssen
<[EMAIL PROTECTED]> wrote:
> Ashley Winters <[EMAIL PROTECTED]> writes:
>
> > On Fri, 18 Feb 2005 12:47:51 -0700, Luke Palmer <[EMAIL PROTECTED]> wrote:
> >> Run through your mind how this would be done with a junction in $x.
> >> Particularly focus on:
> >>
> >> 2..sqrt($x)
> >>
> >> What the hell does that mean? Do you get a junction of lists out? Or
> >> does sqrt die because it's not expecting a junction?
> >
> > sqrt() won't die; it gets threaded and returns a Junction, I would
> > expect. It's the lack of an &*infix:<..>(Int, Junction) function which
> > causes death
>
> Why does that cause death instead of authothreading?
Okay, I changed my mind. I think it does it does work for ~~ matching,
but not as an iterator
given 2 {
when 1 .. sqrt(3|6) { ... } # would work
}
for(1 .. sqrt(3|6)) { ... } # would fail, since Junction doesn't "do
Iterator" or whatever
1 .. sqrt(10) -> LazyList of (1..3)
1 .. sqrt(10|20) -> Junction of any(1,2,3, 1,2,3,4)
LazyList does Iterator, but Junction does not. You'd have to use (1 ..
sqrt(3|6)).values to iterate through the possible values
semi-randomly.
More likely, I'm nuts.
Ashley