Browse thread
Fwd: Re: [Caml-list] The boon of static type checking
[
Home
]
[ Index:
by date
|
by threads
]
[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
Date: | 2005-02-15 (13:34) |
From: | Eric C. Cooper <ecc@c...> |
Subject: | Re: [Caml-list] String to list to string |
On Tue, Feb 15, 2005 at 10:33:16AM +0000, Richard Jones wrote: > If you can suggest suitable fold_left and fold_right functions, then > they can be added to ExtLib. Here's what I use: val string_fold_left : ('a -> char -> 'a) -> 'a -> string -> 'a val string_fold_right : (char -> 'a -> 'a) -> 'a -> string -> 'a let string_fold_left f init str = let n = String.length str in let rec loop i result = if i = n then result else loop (i + 1) (f result str.[i]) in loop 0 init let string_fold_right f init str = let n = String.length str in let rec loop i result = if i = 0 then result else let i' = i - 1 in loop i' (f str.[i'] result) in loop n init -- Eric C. Cooper e c c @ c m u . e d u