summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
Diffstat (limited to 'lib')
-rw-r--r--lib/ur/basis.urs13
1 files changed, 12 insertions, 1 deletions
diff --git a/lib/ur/basis.urs b/lib/ur/basis.urs
index ea6f6f4a..117f944c 100644
--- a/lib/ur/basis.urs
+++ b/lib/ur/basis.urs
@@ -566,7 +566,18 @@ val subform : ctx ::: {Unit} -> use ::: {Type} -> bind ::: {Type}
nm :: Name -> [[nm] ~ use] =>
xml form [] bind
-> xml ([Form] ++ ctx) use [nm = $bind]
-
+
+val subforms : ctx ::: {Unit} -> use ::: {Type} -> bind ::: {Type}
+ -> [[Form] ~ ctx] =>
+ nm :: Name -> [[nm] ~ use] =>
+ xml [Body, Subform] [Entry = $bind] []
+ -> xml ([Form] ++ ctx) use [nm = list ($bind)]
+
+val entry : ctx ::: {Unit} -> bind ::: {Type}
+ -> [[Subform] ~ ctx] =>
+ xml form [] bind
+ -> xml ([Subform] ++ ctx) [Entry = $bind] []
+
con formTag = fn (ty :: Type) (inner :: {Unit}) (attrs :: {Type}) =>
ctx ::: {Unit}
-> [[Form] ~ ctx] =>