diff options
Diffstat (limited to 'src/list_util.sml')
-rw-r--r-- | src/list_util.sml | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/src/list_util.sml b/src/list_util.sml index a2b6aeb2..bafac51b 100644 --- a/src/list_util.sml +++ b/src/list_util.sml @@ -136,6 +136,19 @@ fun search f = s end +fun searchi f = + let + fun s n ls = + case ls of + [] => NONE + | h :: t => + case f (n, h) of + NONE => s (n + 1) t + | v => v + in + s 0 + end + fun mapi f = let fun m i acc ls = |