On Wed, May 28, 2008 at 3:50 PM, Taral <[EMAIL PROTECTED]> wrote:

> 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


They are only identical up to strictness, and there they differ.

Jason
_______________________________________________
darcs-users mailing list
[email protected]
http://lists.osuosl.org/mailman/listinfo/darcs-users

Reply via email to