On Thursday 09 January 2003 01:01 pm, Thom Boyer wrote:
> If you read ~> and <~ as "stuff this thingy into that doohicky", assignment
> makes perfect sense. They are plumbing connectors: sometimes they connect
> the water softener to the water heater (one device to another), and
> sometimes they connect to the water supply (a source) or the sink (a sink).
>
> I don't see that as an overcomplication, but as a very straightforward and
> obvious extension.
>
Agreed. I think that this is pretty nice.
> 3) "Do you care about readability at all? It seems to me that ~> and <~
> have no use except making perl 6 uglier and more complicated than it
> already is."
>
> I think ~> and <~ look pretty nice. They read well as a single symbol, they
> make good sense, they make it possible to say more directly exactly what
> your code means, they show the direction of data flow quite well, and the
> "ripply water" look emphasizes the plumbing analogy.
But you're missing the most important part!
I propose that these operators should be named "gozinta" ( ~>)
and "comezouta" ( <~ ), just so that we can say that perl has them. Not to
mention that the names work pretty well, for me.
Observe:
@a ~> map { ... } ~> grep { ... } ~> sort { ... } ~> @b;
@a gozinta map, which gozinta grep, then it gozinta sort, then it all gozinta
@b.
print sort { ... } <~ mymethod(42) <~ @b;
call sort on what comezouta calling mymethod(42) on what comezouta @b.
I think. Indirect objects are still somewhat confusing. :)
If I'm reading the info right on <~, then we want to make it clear that you
_don't_ put it between print and stuff you want to print, or in other words
that "this ain't cout".
Anyway, cool beans. :)
-- Andrew "hobbs" Rodland < arodland at noln dot com >
P.S. Delurk. Hi.