diff demo/treeFun.urs @ 469:b393c2fc80f8

About to begin optimization of recursive transaction functions
author Adam Chlipala <adamc@hcoop.net>
date Thu, 06 Nov 2008 17:09:53 -0500
parents
children 1fb318c17546
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/demo/treeFun.urs	Thu Nov 06 17:09:53 2008 -0500
@@ -0,0 +1,22 @@
+functor Make(M : sig
+                 type key
+                 con id :: Name
+                 con parent :: Name
+                 con cols :: {Type}
+                 constraint [id] ~ [parent]
+                 constraint [id, parent] ~ cols
+
+                 val key_inj : sql_injectable key
+                 val option_key_inj : sql_injectable (option key)
+
+                 table tab : [id = key, parent = option key] ++ cols
+             end) : sig
+
+    con id = M.id
+    con parent = M.parent
+
+    val tree : ($([id = M.key, parent = option M.key] ++ M.cols) -> xbody)
+               -> option M.key
+               -> transaction xbody
+
+end