Argh, that last sentence should read "the file is left alone".. On Dec 9, 2007 10:15 PM, David Fox <[EMAIL PROTECTED]> wrote:
> Here is a practical example I ran into a few days ago. With this > expression: > > writeFile path (compute text) > > the file at path would be overwritten with an empty file if an error > occurs while evaluating (compute text). With this one: > > writeFile path $! (compute text) > > the file alone when an error occurs. > > > On Nov 17, 2007 8:04 PM, PR Stanley <[EMAIL PROTECTED]> wrote: > > > Hi > > okay, so $! is a bit like $ i.e. the equivalent of putting > > parentheses around the righthand expression. I'm still not sure of > > the difference between $ and $!. Maybe it's because I don't > > understand the meaning of "strict application". While we're on the > > subject, what's meant by Haskell being a non-strict language? > > Cheers > > Paul > > At 01:50 15/11/2007, you wrote: > > >On 14 Nov 2007, at 4:32 PM, Shachaf Ben-Kiki wrote: > > > > > >>On Nov 14, 2007 4:27 PM, Justin Bailey < [EMAIL PROTECTED]> 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. > > > > > >Right. (f x) evaluates f and then applies it to x. (f $! x) > > >evaluates x, evaluates f, and then applies f to x. > > > > > >jcc > > > > > >_______________________________________________ > > >Haskell-Cafe mailing list > > >Haskell-Cafe@haskell.org > > >http://www.haskell.org/mailman/listinfo/haskell-cafe > > > > _______________________________________________ > > Haskell-Cafe mailing list > > Haskell-Cafe@haskell.org > > http://www.haskell.org/mailman/listinfo/haskell-cafe > > > >
_______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe