Tom Wilkie wrote: > Dear all > > Is Queue.fold going over items in the wrong order? It says "equivalent > to List.fold_left" but I would expect the behaviour to be, when > inserting items 1, then 2, then 3 a fold would be given items in that > order? > > Is there a good reason for this? Could be have a rev_fold for the > opposite order please? > > Thanks > > Tom > > # ocaml > Objective Caml version 3.10.2 > > # open Queue;; > # let q = Queue.create ();; > val q : '_a Queue.t = <abstr> > # Queue.add 1 q;; > - : unit = () > # Queue.add 2 q;; > - : unit = () > # Queue.add 3 q;; > - : unit = () > # Queue.fold (fun acc a -> a::acc) [] q;; > - : int list = [3; 2; 1] > # Queue.iter (fun a -> print_endline (string_of_int a)) q;; > 1 > 2 > 3 > - : unit = ()
List.fold_left (fun acc a -> a::acc) [] [1; 2; 3];; List.iter (fun a -> print_endline (string_of_int a)) [1; 2; 3];; If that still puzzles you then please, with respect, re-post to the beginners' list. David _______________________________________________ Caml-list mailing list. Subscription management: http://yquem.inria.fr/cgi-bin/mailman/listinfo/caml-list Archives: http://caml.inria.fr Beginner's list: http://groups.yahoo.com/group/ocaml_beginners Bug reports: http://caml.inria.fr/bin/caml-bugs