Mercurial > urweb
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 |