[darcs-users] [darcs-devel] lift2Sealed
Jason Dagit
dagit at codersbase.com
Thu May 29 00:40:00 UTC 2008
On Wed, May 28, 2008 at 3:50 PM, Taral <taralx at gmail.com> 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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.osuosl.org/pipermail/darcs-users/attachments/20080528/6628ae64/attachment.htm
More information about the darcs-users
mailing list