comparison lib/ur/monad.urs @ 1257:fd1a49b51db5

Fix C-mangling of datatype names
author Adam Chlipala <adamc@hcoop.net>
date Sun, 16 May 2010 15:34:24 -0400
parents 79f487f51d9f
children f0909fb3848f
comparison
equal deleted inserted replaced
1256:d7d5b167f267 1257:fd1a49b51db5
58 -> (nm :: Name -> t :: K -> rest :: {K} 58 -> (nm :: Name -> t :: K -> rest :: {K}
59 -> [[nm] ~ rest] => 59 -> [[nm] ~ rest] =>
60 tf t -> tr rest -> m (tf' t * tr ([nm = t] ++ rest))) 60 tf t -> tr rest -> m (tf' t * tr ([nm = t] ++ rest)))
61 -> tr [] 61 -> tr []
62 -> r ::: {K} -> folder r -> $(map tf r) -> m ($(map tf' r) * tr r) 62 -> r ::: {K} -> folder r -> $(map tf r) -> m ($(map tf' r) * tr r)
63
64 val appR2 : K --> m ::: (Type -> Type) -> monad m
65 -> tf1 :: (K -> Type) -> tf2 :: (K -> Type)
66 -> (nm :: Name -> t :: K -> rest :: {K}
67 -> [[nm] ~ rest] =>
68 tf1 t -> tf2 t -> m unit)
69 -> r ::: {K} -> folder r -> $(map tf1 r) -> $(map tf2 r) -> m unit