How do I force evaluation?

fis@ssh.com fis@ssh.com
Sun, 11 Mar 2001 18:30:13 +0200



  Hi,


I want to do something like:

| main = do
|         monstrousDataStructure <- monstrousComputation
|         hPutStr stderr "success!"
|         ...

The important point is that I want to make sure that the computation
has terminated and not failed before I go to `...'.  I have tried

|         x <- x `seq` x

and

|         x <- id $! x

which should be equivalent anyway, but they both did not have any
effect.  Then, I remember that there was something called strict, but
I can't find it any more.  I am afraid I am missing something basic
here.  If you can't help me, I will come back with a more precise
example, I just haven't found one so far (only the original code, but
you don't want to read 1843 LOC on this list, do you?... :)


thanks a lot,
Matthias



-- 
Matthias Fischmann | Research Engineer               | +358 (9) 8565 7474
fis@ssh.fi         | SSH Communication Security Corp | +358 (40) 752 5291