On 5/4/05, Luke Palmer <[EMAIL PROTECTED]> wrote:
> On 5/4/05, Joshua Gatcomb <[EMAIL PROTECTED]> wrote:
> > Ok - this isn't what I was expecting at all.  That doesn't make it a
> > bad thing.  Given something that looks a lot more like a typical
> > coroutine:
> >
> > sub example is coroutine {
> >     yield 1;
> >     yield 2;
> >     yield 3;
> > }
> >
> > I would expect
> > for 1 .. 5 { say example() } to print "1\n2\n3\n1\n\2"
> 
> Ding!  You just hit the disagreement point.  You're on Damian's side.

Not exactly.  I am basing my expectation on the following link and
then asking with all the different ways to define behavior - has a
decision WRT p6 been made.

http://www.sidhe.org/~dan/blog/archives/000178.html

> Sorry for my language... it's just that if I were dropped into a
> project that invented that abstraction for something it was doing, it
> would be one of the first things I'd change.  Totally unscalable
> design.
> 
> > If I got fancy and added a parameter
> >
> > sub example ( $num ) is coroutine {
> >     yield $num;
> >     yield $num + 1;
> >     yield $num - 2;
> > }
> >
> > I would expect
> > for 1 .. 5 { say example( 7 ) } to print "7\n8\n6\n7\n8";
> 
> And here is where it gets trickier:
> 
>     say example(7);   # 7
>     say example(7);   # 8
>     say example(8);   # 8?  6?

Exactly my point.  There is more than one way to define the behavior
(especially with parameter handling).  That is why I included a
reference and asked how p6 was going to do it.  Personally, I don't
care because I know people like you, Larry, Damian, et all will make a
sound decision.  What I want to know is if you have a decision already
that isn't published in its entirety so I can start writing tests.

Ok, I do care.  Regardless of behavior, I would hope the syntax would
somewhat resemble that of other languages.
> 
> Luke
> 
Cheers,
Joshua Gatcomb
a.k.a. L~R

Reply via email to