aboutsummaryrefslogtreecommitdiffhomepage
path: root/demo/more/orm.urs
diff options
context:
space:
mode:
Diffstat (limited to 'demo/more/orm.urs')
-rw-r--r--demo/more/orm.urs19
1 files changed, 19 insertions, 0 deletions
diff --git a/demo/more/orm.urs b/demo/more/orm.urs
new file mode 100644
index 00000000..8fab3ae8
--- /dev/null
+++ b/demo/more/orm.urs
@@ -0,0 +1,19 @@
+con link :: Type -> Type
+
+con meta = fn col :: Type => {
+ Link : link col,
+ Inj : sql_injectable col
+ }
+
+functor Table(M : sig
+ con cols :: {Type}
+ val cols : $(map meta cols)
+ constraint [Id] ~ cols
+ val folder : folder cols
+ end) : sig
+ type id
+ val inj : sql_injectable id
+ val id : meta id
+
+ val create : $M.cols -> transaction id
+end