diff options
Diffstat (limited to 'src/list_util.sml')
-rw-r--r-- | src/list_util.sml | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/src/list_util.sml b/src/list_util.sml index 976e4708..616efcf0 100644 --- a/src/list_util.sml +++ b/src/list_util.sml @@ -146,4 +146,14 @@ fun mapi f = m 0 [] end +fun foldli f = + let + fun m i acc ls = + case ls of + [] => acc + | h :: t => m (i + 1) (f (i, h, acc)) t + in + m 0 + end + end |