annotate demo/more/versioned.urs @ 993:10114d7b7477

SELECT DISTINCT; eta expansion during Cjrization
author Adam Chlipala <adamc@hcoop.net>
date Tue, 06 Oct 2009 15:39:27 -0400
parents
children 166ea3944b91
rev   line source
adamc@993 1 functor Make(M : sig
adamc@993 2 con key :: {Type}
adamc@993 3 con data :: {Type}
adamc@993 4 constraint key ~ data
adamc@993 5 constraint [When] ~ (key ++ data)
adamc@993 6
adamc@993 7 val key : $(map sql_injectable key)
adamc@993 8 val data : $(map (fn t => {Inj : sql_injectable_prim t,
adamc@993 9 Eq : eq t}) data)
adamc@993 10
adamc@993 11 val keyFolder : folder key
adamc@993 12 val dataFolder : folder data
adamc@993 13 end) : sig
adamc@993 14 val insert : $(M.key ++ M.data) -> transaction unit
adamc@993 15 val update : $(M.key ++ M.data) -> transaction unit
adamc@993 16
adamc@993 17 val keys : transaction (list $M.key)
adamc@993 18 val current : $M.key -> transaction (option $M.data)
adamc@993 19 end