aboutsummaryrefslogtreecommitdiffhomepage
path: root/demo/more/conference.urs
diff options
context:
space:
mode:
Diffstat (limited to 'demo/more/conference.urs')
-rw-r--r--demo/more/conference.urs17
1 files changed, 11 insertions, 6 deletions
diff --git a/demo/more/conference.urs b/demo/more/conference.urs
index 696b8b32..aecdf143 100644
--- a/demo/more/conference.urs
+++ b/demo/more/conference.urs
@@ -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