diff demo/more/conference.urs @ 1003:61c30f0742d7

Registering for Conference1
author Adam Chlipala <adamc@hcoop.net>
date Tue, 20 Oct 2009 11:05:58 -0400
parents 1d456a06ea4e
children a87495bcaeec
line wrap: on
line diff
--- a/demo/more/conference.urs	Tue Oct 20 10:29:17 2009 -0400
+++ b/demo/more/conference.urs	Tue Oct 20 11:05:58 2009 -0400
@@ -1,18 +1,23 @@
-con reviewMeta = fn (db :: Type, widget :: Type) =>
+con meta = fn (db :: Type, widget :: Type) =>
                     {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}
 
-val int : reviewMeta (int, string)
-val float : reviewMeta (float, string)
-val string : reviewMeta (string, string)
-val bool : reviewMeta (bool, bool)
+val int : meta (int, string)
+val float : meta (float, string)
+val string : meta (string, string)
+val bool : meta (bool, bool)
 
 functor Make(M : sig
+                 con paper :: {(Type * Type)}
+                 constraint [Id, Title] ~ paper
+                 val paper : $(map meta paper)
+
                  con review :: {(Type * Type)}
-                 val review : $(map reviewMeta review)
+                 constraint [Paper, User] ~ review
+                 val review : $(map meta review)
              end) : sig
 
     val main : unit -> transaction page