[Haskell-cafe] The difference between ($) and application
Ben Rudiak-Gould
Benjamin.Rudiak-Gould at cl.cam.ac.uk
Tue Dec 14 14:27:51 EST 2004
Derek Elkins wrote:
>Andrew Pimlott wrote:
>>I think this post should go under the heading "($) considered
>>harmful". I've been bitten by this, and I never use ($) anymore in
>>place of parentheses because it's too tempting to think of it as
>>syntax.
>
>I find this position ridiculous. [...] If you ever make a mistake
>one way the type checker will tell you.
For what it's worth, this is not true in the presence of implicit
parameters:
f :: ((?p :: Int) => Int) -> Int
f g = let ?p = 1 in g
x,y :: Int
x = let ?p = 2 in (f ?p) ==> 1
y = let ?p = 2 in (f $ ?p) ==> 2
I wouldn't mind ($) being magical, along the lines of the magical runST
in a rank-1 type system. It would be nice to be able to use it in
patterns too.
-- Ben
More information about the Haskell-Cafe
mailing list