Mercurial > urweb
annotate demo/sum.ur @ 596:d1ec54288b1a
Injected a polymorphic, recursive type
author | Adam Chlipala <adamc@hcoop.net> |
---|---|
date | Thu, 08 Jan 2009 10:15:45 -0500 |
parents | 6a0e54400805 |
children | f4f2b09a533a |
rev | line source |
---|---|
adamc@412 | 1 fun sum (fs ::: {Unit}) (x : $(mapUT int fs)) = |
adamc@411 | 2 foldUR [int] [fn _ => int] |
adamc@411 | 3 (fn (nm :: Name) (rest :: {Unit}) [[nm] ~ rest] n acc => n + acc) |
adamc@411 | 4 0 [fs] x |
adamc@411 | 5 |
adamc@411 | 6 fun main () = return <xml><body> |
adamc@413 | 7 {[sum {}]}<br/> |
adamc@412 | 8 {[sum {A = 0, B = 1}]}<br/> |
adamc@412 | 9 {[sum {C = 2, D = 3, E = 4}]} |
adamc@411 | 10 </body></xml> |