summaryrefslogtreecommitdiff
path: root/demo/sum.ur
diff options
context:
space:
mode:
Diffstat (limited to 'demo/sum.ur')
-rw-r--r--demo/sum.ur10
1 files changed, 10 insertions, 0 deletions
diff --git a/demo/sum.ur b/demo/sum.ur
new file mode 100644
index 0000000..c8d4288
--- /dev/null
+++ b/demo/sum.ur
@@ -0,0 +1,10 @@
+fun sum [fs ::: {Unit}] (fl : folder fs) (x : $(mapU int fs)) =
+ @foldUR [int] [fn _ => int]
+ (fn [nm :: Name] [rest :: {Unit}] [[nm] ~ rest] n acc => n + acc)
+ 0 fl x
+
+fun main () = return <xml><body>
+ {[sum {}]}<br/>
+ {[sum {A = 0, B = 1}]}<br/>
+ {[sum {C = 2, D = 3, E = 4}]}
+</body></xml>