Mercurial > urweb
view demo/crud.urs @ 1455:913d9c2f55c9
Corify Basis.unit to empty record; this is needed so that specialize
can see that they are equivalent.
author | Karn Kallio <kkallio@eka> |
---|---|
date | Fri, 06 May 2011 16:24:45 -0430 |
parents | bb3fc575cfe7 |
children |
line wrap: on
line source
con colMeta = fn (db :: Type, widget :: Type) => {Nam : string, Show : db -> xbody, Widget : nm :: Name -> xml form [] [nm = widget], WidgetPopulated : nm :: Name -> db -> xml form [] [nm = widget], Parse : widget -> db, Inject : sql_injectable db} con colsMeta = fn cols :: {(Type * Type)} => $(map colMeta cols) val int : string -> colMeta (int, string) val float : string -> colMeta (float, string) val string : string -> colMeta (string, string) val bool : string -> colMeta (bool, bool) 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