From 4e13159efc009d8f534a3502124a1b8148407b24 Mon Sep 17 00:00:00 2001 From: gareuselesinge Date: Thu, 10 Oct 2013 11:22:49 +0000 Subject: Clib: fold_left_until added to CList CStack just calls it to implement fold_until. CSig.seek renamed CSig.until, since there is no seek function. git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@16867 85f007b7-540e-0410-9357-904b9bb8a0f7 --- lib/cStack.ml | 17 +++-------------- 1 file changed, 3 insertions(+), 14 deletions(-) (limited to 'lib/cStack.ml') diff --git a/lib/cStack.ml b/lib/cStack.ml index 5ec8721170..4acb2930c5 100644 --- a/lib/cStack.ml +++ b/lib/cStack.ml @@ -28,20 +28,9 @@ let to_list { stack = s } = s let find f s = List.find f (to_list s) -let find_map f s = - let rec aux = function - | [] -> raise Not_found - | x :: xs -> match f x with None -> aux xs | Some i -> i - in - aux (to_list s) - -type ('b, 'c) seek = ('b, 'c) CSig.seek = Stop of 'b | Next of 'c - -let fold_until f accu s = - let rec aux accu = function - | [] -> raise Not_found - | x :: xs -> match f accu x with Stop x -> x | Next i -> aux i xs in - aux accu s.stack +let find_map f s = CList.find_map f s.stack + +let fold_until f accu s = CList.fold_left_until f accu s.stack let is_empty { stack = s } = s = [] -- cgit v1.2.3