Hi David, Because the arguments passed to functions could be considered as references (same memory space), IMHO, if you respect the scope priority it should work. For instance: let () = let h = Hashtbl.create 7 in let f k v = Hashtbl.remove h k in Hashtbl.iter f h Julien. 2008/5/11 David MENTRE : > Hello, > > Probably a newbie question but anyway: is it allowed to do a > Hashtbl.remove while doing a Hashtbl.iter on the same hash table? > > More precisely, at one point while doing a "Hashtbl.iter f h" my > function "f" is called with something like "f k v". Can I do a > "Hashtbl.remove h k" within the body of "f"? > > Sincerely yours, > david > -- > GPG/PGP key: A3AD7A2A David MENTRE > 5996 CC46 4612 9CA4 3562 D7AC 6C67 9E96 A3AD 7A2A > > _______________________________________________ > 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 > -- Julien Peeters Student in engineering Institut de Formation des Ingénieurs de Paris-Sud Orsay, France Website: http://www.dedilabs.com/~jpeeters