diff options
author | Adam Chlipala <adamc@hcoop.net> | 2008-06-10 15:56:33 -0400 |
---|---|---|
committer | Adam Chlipala <adamc@hcoop.net> | 2008-06-10 15:56:33 -0400 |
commit | 0b48781249e7062928ff78ae3469a508a3e31eaa (patch) | |
tree | 9e6bdf99508109633f198c8a01948c165cad3b86 /src/list_util.sml | |
parent | be45a4a950e01689219ebc5032f53f66b012f660 (diff) |
Closure conversion
Diffstat (limited to 'src/list_util.sml')
-rw-r--r-- | src/list_util.sml | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/src/list_util.sml b/src/list_util.sml index 626d0ec0..aed2cdf0 100644 --- a/src/list_util.sml +++ b/src/list_util.sml @@ -60,6 +60,21 @@ fun mapfold f = mf end +fun foldlMap f s = + let + fun fm (ls', s) ls = + case ls of + nil => (rev ls', s) + | h :: t => + let + val (h', s') = f (h, s) + in + fm (h' :: ls', s') t + end + in + fm ([], s) + end + fun search f = let fun s ls = |