Understanding strictness of ghc output
Simon Peyton-Jones
simonpj at microsoft.com
Tue Jun 22 09:44:46 EDT 2004
| Well, it is certainly the case that in a denotational sense the
| function is strict in h, because if h is bottom, the result is bottom.
Right. And GHC's operational behaviour is faithful to the denotational
semantics. When GHC compiles the program, if h is bottom, the call will
not return.
Simon
|
| But my operational understanding is that h is a projection, that is,
| it is passed from argument to result unmodified. The demand on h
| comes from the caller of the present function, which may or may not
| be strict in that result. Thus, the function code itself here does
| not force the evaluation of h.
|
| Regards,
| Malcolm
| _______________________________________________
| Glasgow-haskell-users mailing list
| Glasgow-haskell-users at haskell.org
| http://www.haskell.org/mailman/listinfo/glasgow-haskell-users
More information about the Glasgow-haskell-users
mailing list