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.