Mercurial > urweb
annotate lib/ur/listPair.ur @ 844:74a1e3bdf430
Fix datatype import bug in Elaborate; fix server-side source setting; more standard library stuff
author | Adam Chlipala <adamc@hcoop.net> |
---|---|
date | Sun, 07 Jun 2009 16:45:00 -0400 |
parents | 78504d97410b |
children | 0d30e6338c65 |
rev | line source |
---|---|
adamc@826 | 1 fun mapX [a] [b] [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 |
adamc@844 | 11 |
adamc@844 | 12 fun all [a] [b] f = |
adamc@844 | 13 let |
adamc@844 | 14 fun all' ls1 ls2 = |
adamc@844 | 15 case (ls1, ls2) of |
adamc@844 | 16 ([], []) => True |
adamc@844 | 17 | (x1 :: ls1, x2 :: ls2) => f x1 x2 && all' ls1 ls2 |
adamc@844 | 18 | _ => False |
adamc@844 | 19 in |
adamc@844 | 20 all' |
adamc@844 | 21 end |