Quoting Jean-Marie Gaillourdet <j...@gaillourdet.net>:

That sounds plausible. Do you see any workaround? Perhaps repeatedly evaluating typeOf?

If there's a concurrency bug, surely the workaround is to protect calls to the non-thread-safe function with a lock.

    typeOfWorkaround lock v = do
        () <- takeMVar lock
        x <- evaluate (typeOf v)
        putMVar lock ()
        return x

~d

_______________________________________________
Glasgow-haskell-users mailing list
Glasgow-haskell-users@haskell.org
http://www.haskell.org/mailman/listinfo/glasgow-haskell-users

Reply via email to