Brent Dax wrote:
Incorrect.  The translation sequence is:

	@in ~> map { ... } ~> grep { ... } ~> @out
	((@in ~> map { ... }) ~> grep { ... }) ~> @out
	((@in.map({ ... })).grep({ ... })) ~> @out
	@out=((@in.map({ ... })).grep({ ... }))
	@[EMAIL PROTECTED]({ ... }).grep({ ... })

The only difference between '~>' and '.' is that '~>' is taken as the
terminator of an unparenthesized argument list, while '.' is taken as
binding to the last term.
Hmmm, I must have misunderstood Damian's suggestion when he said

(quoting Damian Conway)
     Suppose ~> takes its left argument and binds it to
     the end of the argument list of its right argument,
     then evaluates that right argument and returns the result.
     So an L2R array-processing chain is:

         @out = @a ~> grep {...} ~> map {...} ~> sort;
I didn't read that as stating a semi-equivalence between '~>' and '.'.
I guess I live and learn.




Reply via email to