
25 Nov
2004
25 Nov
'04
12:14 a.m.
Benjamin Franksen wrote:
label1 = unique Uniq1 label2 = unique Uniq2 global1 = functionalNewMVar label1 True global2 = functionalNewMVar label1 (117::Int)
No dice. Your example inadvertently shows why: you used label1 when creating both global1 and global2, and now I can write coerce :: Bool -> Int coerce x = putMVar global1 x >> takeMVar global2 (provided I've emptied them first). -- Ben