diff options
author | Adam Chlipala <adamc@hcoop.net> | 2008-01-26 16:44:39 -0500 |
---|---|---|
committer | Adam Chlipala <adamc@hcoop.net> | 2008-01-26 16:44:39 -0500 |
commit | 53109d697cd8ff1aa7e4b8c41f3bd71dd2671fc0 (patch) | |
tree | 0da23cead212d30f6066b38f5a13b7fdfb3e0a15 /src/list_util.sml | |
parent | e7e2ffc58a4f120801ae69217032948e511af213 (diff) |
Check for leftover kind unifs
Diffstat (limited to 'src/list_util.sml')
-rw-r--r-- | src/list_util.sml | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/src/list_util.sml b/src/list_util.sml index fdc1ac55..eee8249b 100644 --- a/src/list_util.sml +++ b/src/list_util.sml @@ -42,4 +42,22 @@ fun mapfoldl f i = mf i [] end +structure S = Search + +fun mapfold f = + let + fun mf ls s = + case ls of + nil => S.Continue (nil, s) + | h :: t => + case f h s of + S.Return x => S.Return x + | S.Continue (h', s) => + case mf t s of + S.Return x => S.Return x + | S.Continue (t', s) => S.Continue (h' :: t', s) + in + mf + end + end |