Mercurial > urweb
annotate lib/ur/listPair.ur @ 810:c1f8963ebb18
Fix another problem with overwrites during JavaScript pattern matching
author | Adam Chlipala <adamc@hcoop.net> |
---|---|
date | Sat, 16 May 2009 16:37:48 -0400 |
parents | 5f49a6b759cb |
children | 78504d97410b |
rev | line source |
---|---|
adamc@801 | 1 fun mapX (a ::: Type) (b ::: Type) (ctx ::: {Unit}) f = |
adamc@801 | 2 let |
adamc@801 | 3 fun mapX' ls1 ls2 = |
adamc@801 | 4 case (ls1, ls2) of |
adamc@801 | 5 ([], []) => <xml/> |
adamc@801 | 6 | (x1 :: ls1, x2 :: ls2) => <xml>{f x1 x2}{mapX' ls1 ls2}</xml> |
adamc@801 | 7 | _ => error <xml>ListPair.mapX: Unequal list lengths</xml> |
adamc@801 | 8 in |
adamc@801 | 9 mapX' |
adamc@801 | 10 end |