
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/