
3 Mar
2010
3 Mar
'10
6:08 p.m.
On Wed, 2010-03-03 at 18:58 +0100, Axel Simon wrote:
On 03.03.2010, at 17:30, Milan Straka wrote:
Any easy way of comparing pointers? I mean, if I have something like Tree a = N | B (Tree a) a (Tree a) and have (l::Tree a) and (r::Tree a), can I ask about the "physical equality"?
You can! Despite the names appearing in the following code, the following is safe:
-- | Equality on pointers. ptrEqual :: a -> a -> Bool ptrEqual x y = unsafePerformIO $ do nx <- makeStableName x ny <- makeStableName y return (nx==ny)
Safe but not pure? jcc