aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/list_util.sml
diff options
context:
space:
mode:
Diffstat (limited to 'src/list_util.sml')
-rw-r--r--src/list_util.sml13
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 =