From bb4aed8e1304d5cb3cbe7ec5fdcf95344e9aa2d5 Mon Sep 17 00:00:00 2001 From: Adam Chlipala Date: Sun, 22 Feb 2009 17:39:55 -0500 Subject: demo/sum working with manual folders --- demo/sum.ur | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) (limited to 'demo/sum.ur') diff --git a/demo/sum.ur b/demo/sum.ur index 9391637a..566b7899 100644 --- a/demo/sum.ur +++ b/demo/sum.ur @@ -1,10 +1,10 @@ -fun sum (fs ::: {Unit}) (x : $(mapUT int fs)) = +fun sum (fs ::: {Unit}) (fold : folder fs) (x : $(mapUT int fs)) = foldUR [int] [fn _ => int] (fn (nm :: Name) (rest :: {Unit}) [[nm] ~ rest] n acc => n + acc) - 0 [fs] x + 0 [fs] fold x fun main () = return - {[sum {}]}
- {[sum {A = 0, B = 1}]}
- {[sum {C = 2, D = 3, E = 4}]} + {[sum Folder.nil {}]}
+ {[sum (Folder.cons [#A] [()] (Folder.cons [#B] [()] Folder.nil)) {A = 0, B = 1}]}
+ {[sum (Folder.cons [#D] [()] (Folder.cons [#C] [()] (Folder.cons [#E] [()] Folder.nil))) {C = 2, D = 3, E = 4}]}
-- cgit v1.2.3