[darcs-devel] lift2Sealed

Taral taralx at gmail.com
Wed May 28 22:50:09 UTC 2008


Can someone explain why this thing is so huge? (From HashedRepo.lhs)

          lift2Sealed :: (FORALL(y z) q C(y z) -> p C(x y) -> r C(x z))
                      -> IO (Sealed (p C(x))) -> (FORALL(b) IO (Sealed
(q C(b)))) -> IO (Sealed (r C(x)))
          lift2Sealed f iox ioy = do Sealed x <- unseal seal `fmap`
unsafeInterleaveIO iox
                                     Sealed y <- unseal seal `fmap`
unsafeInterleaveIO ioy
                                     return $ seal $ f y x

It looks to me like it's identical to:

          lift2Sealed f iox ioy = do Sealed x <- iox
                                     Sealed y <- ioy
                                     return $ seal $ f y x

-- 
Taral <taralx at gmail.com>
"Please let me know if there's any further trouble I can give you."
    -- Unknown


More information about the darcs-devel mailing list