comparison demo/sum.ur @ 412:df4cbd90a26e

Infering sum rows
author Adam Chlipala <adamc@hcoop.net>
date Tue, 21 Oct 2008 19:31:11 -0400
parents 06fcddcd20d3
children 6a0e54400805
comparison
equal deleted inserted replaced
411:06fcddcd20d3 412:df4cbd90a26e
1 fun sum (fs :: {Unit}) (x : $(mapUT int fs)) = 1 fun sum (fs ::: {Unit}) (x : $(mapUT int fs)) =
2 foldUR [int] [fn _ => int] 2 foldUR [int] [fn _ => int]
3 (fn (nm :: Name) (rest :: {Unit}) [[nm] ~ rest] n acc => n + acc) 3 (fn (nm :: Name) (rest :: {Unit}) [[nm] ~ rest] n acc => n + acc)
4 0 [fs] x 4 0 [fs] x
5 5
6 fun main () = return <xml><body> 6 fun main () = return <xml><body>
7 {[sum [[A, B]] {A = 0, B = 1}]}<br/> 7 {[sum {A = 0, B = 1}]}<br/>
8 {[sum [[C, D, E]] {C = 2, D = 3, E = 4}]} 8 {[sum {C = 2, D = 3, E = 4}]}
9 </body></xml> 9 </body></xml>