Exception handling in GHC

Sarah Thompson sarah@telergy.com
Sat, 25 Jan 2003 01:28:10 -0000


> Your COM wrapper code probably behaves differently because the error is
> not evoked at the very top level.  Note that `seq` (and hence ($!)) only
> force evaluation to "weak head normal form", which essentially means only
> enough to determine the top-level constructor.  You may need to evaluate
> more deeply.  Check out `DeepSeq`
> (http://haskell.org/pipermail/haskell/2001-August/001586.html) and/or
> "strategies"
> (http://www.mail-archive.com/haskell@haskell.org/msg09543/Strategi
es.lhs).

DeepSeq fixed it in one go. Brilliant! Many thanks for the help. My COM
object now appears to be unreasonably solid regardless of what I throw at
it. :)

Sarah