jinjing wrote:
I found that as I can do

  xs.map(+1).sort

by redefine . to be

  a . f = f a
  infixl 9 .

This looks rather like ($), but backwards. I believe the F# name for this operator is (|>), which is also a legal name for it in Haskell. Odd, since (|) alone isn't legal. Calling it (.) will confuse the heck out of anyone who maintains your code though, and make any transfer of code between your projects and other people's liable to introduce bugs.

I can also do

  readFile "readme.markdown" <.> lines <.> length

by making

  a <.> b = a .liftM b
  infixl 9 <.>

Kinda annoying, but the option is there.

Now that looks more interesting. Another name for it is (>>=^), since it is like (>>=) but lifts its right argument. I know the Fudgets library uses "^" in operators for a similar "lifting" meaning.

--
src/
_______________________________________________
Haskell-Cafe mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to