# HG changeset patch # User Matthias Goergens # Date 1272293888 -3600 # Node ID 9e074f2951ddadc5451b06a75ea84b13444447c6 # Parent 7db08a326938ecc231f58afdc8f69718c98e4b8b stdext/Listext got a function make_assoc to build Lisp-like assoc lists Signed-off-by: Matthias Goergens diff -r 7db08a326938 -r 9e074f2951dd stdext/listext.ml --- a/stdext/listext.ml +++ b/stdext/listext.ml @@ -197,6 +197,8 @@ | a::_ -> Some a | [] -> None +let make_assoc op l = map (fun item -> item, op item) l + let rec replace_assoc key new_value = function | [] -> [] | (k, _) as p :: tl -> @@ -205,4 +207,6 @@ else p :: replace_assoc key new_value tl +let make_assoc op l = map (fun item -> item, op item) l + end diff -r 7db08a326938 -r 9e074f2951dd stdext/listext.mli --- a/stdext/listext.mli +++ b/stdext/listext.mli @@ -180,4 +180,7 @@ (** Replace the value belonging to a key in an association list. *) val replace_assoc : 'a -> 'b -> ('a * 'b) list -> ('a * 'b) list + + val make_assoc : ('a -> 'b) -> 'a list -> ('a * 'b) list + end