Mercurial > urweb
view lib/ur/monad.ur @ 855:28e42b22424d
Initial implementation of protocols in Settings
author | Adam Chlipala <adamc@hcoop.net> |
---|---|
date | Tue, 23 Jun 2009 15:56:04 -0400 |
parents | 74e9e7642f08 |
children | d1d0b18afd3d |
line wrap: on
line source
fun exec [m ::: Type -> Type] (_ : monad m) [ts ::: {Type}] r (fd : folder ts) = foldR [m] [fn ts => m $ts] (fn [nm :: Name] [v :: Type] [rest :: {Type}] [[nm] ~ rest] action acc => this <- action; others <- acc; return ({nm = this} ++ others)) (return {}) [ts] fd r