summaryrefslogtreecommitdiff
path: root/demo/sum.ur
diff options
context:
space:
mode:
authorGravatar Adam Chlipala <adamc@hcoop.net>2008-10-21 19:24:39 -0400
committerGravatar Adam Chlipala <adamc@hcoop.net>2008-10-21 19:24:39 -0400
commit17b3f5af99c07d7361fb99124412aff1768cfe13 (patch)
treefcfbcfaf492be1aa13c484eea28cfedaf565ed6c /demo/sum.ur
parentd66bb9f256db65e3487dec361a4a5a9d7ee238b0 (diff)
Sum demo, minus inference of {Unit}s
Diffstat (limited to 'demo/sum.ur')
-rw-r--r--demo/sum.ur9
1 files changed, 9 insertions, 0 deletions
diff --git a/demo/sum.ur b/demo/sum.ur
new file mode 100644
index 00000000..96a45891
--- /dev/null
+++ b/demo/sum.ur
@@ -0,0 +1,9 @@
+fun sum (fs :: {Unit}) (x : $(mapUT int fs)) =
+ foldUR [int] [fn _ => int]
+ (fn (nm :: Name) (rest :: {Unit}) [[nm] ~ rest] n acc => n + acc)
+ 0 [fs] x
+
+fun main () = return <xml><body>
+ {[sum [[A, B]] {A = 0, B = 1}]}<br/>
+ {[sum [[C, D, E]] {C = 2, D = 3, E = 4}]}
+</body></xml>