Mercurial > urweb
view demo/batchFun.urs @ 1736:7ec8dab190a7
Better discovery of type class instances from recursive definitions
author | Adam Chlipala <adam@chlipala.net> |
---|---|
date | Wed, 02 May 2012 08:34:50 -0400 |
parents | bb3fc575cfe7 |
children |
line wrap: on
line source
con colMeta = fn (db :: Type, state :: Type) => {Nam : string, Show : db -> xbody, Inject : sql_injectable db, NewState : transaction state, Widget : state -> xbody, ReadState : state -> transaction db} con colsMeta = fn cols :: {(Type * Type)} => $(map colMeta cols) val int : string -> colMeta (int, source string) val float : string -> colMeta (float, source string) val string : string -> colMeta (string, source string) functor Make(M : sig con cols :: {(Type * Type)} constraint [Id] ~ cols val fl : folder cols table tab : ([Id = int] ++ map fst cols) val title : string val cols : colsMeta cols end) : sig val main : unit -> transaction page end