Mercurial > urweb
diff lib/ur/list.ur @ 1547:553a5cc3a4b5
Fix another list unurlification segfault bug; List.foldlMi
author | Adam Chlipala <adam@chlipala.net> |
---|---|
date | Sun, 21 Aug 2011 13:41:57 -0400 |
parents | dde3bd82cb3d |
children | f4cb4eebf7ae |
line wrap: on
line diff
--- a/lib/ur/list.ur Sun Aug 21 10:55:31 2011 -0400 +++ b/lib/ur/list.ur Sun Aug 21 13:41:57 2011 -0400 @@ -255,6 +255,18 @@ foldlM' end +fun foldlMi [m] (_ : monad m) [a] [b] f = + let + fun foldlMi' i acc ls = + case ls of + [] => return acc + | x :: ls => + acc <- f i x acc; + foldlMi' (i + 1) acc ls + in + foldlMi' 0 + end + fun all [m] f = let fun all' ls =