[Haskell-cafe] What is the role of $!?
Shachaf Ben-Kiki
shachaf at gmail.com
Wed Nov 14 19:32:48 EST 2007
On Nov 14, 2007 4:27 PM, Justin Bailey <jgbailey at gmail.com> wrote:
> It's:
>
> f $! x = x `seq` f x
>
> That is, the argument to the right of $! is forced to evaluate, and
> then that value is passed to the function on the left. The function
> itself is not strictly evaluated (i.e., f x) I don't believe.
Unless you mean f -- which I still don't think would do much -- it
wouldn't make sense to evaluate (f x) strictly.
(x `seq` x) is equivalent to (x), for any x (including (f x)).
(Right?)
Shachaf
More information about the Haskell-Cafe
mailing list