Hi Claire, Without much confidence, I would start by checking matchpats for uses of fmt. On 16 April 2012 17:52, Claire Dross wrote: > Hello, > > I am new to caml-list, so sorry in advance if it is not the right place to > make this post. In a quite important piece of ocaml code, I have a function: > > let matching_term terms env uf id (pats, subst) (seen, forms) = > match pats, subst with > | _, [] | [], _ -> seen, forms > | t :: pats, _ -> fprintf fmt " %a@." T.print t; > let acc = matchpats env terms uf (subst, seen, id+1) t in > let acc, seen, _ = List.fold_left (matchpats env env.fils uf) > acc pats in > seen, List.rev_append acc forms > > Removing the print in the second case of the match changes the result of > the compiled file (compiler 3.12.1) on one of my tests. T.print does not > have side effects, it recursively prints a hashconsed term structure. > > Do you have any idea of what the problem is ? > > Thanks a lot, > > Claire Dross > > -- > Caml-list mailing list. Subscription management and archives: > https://sympa-roc.inria.fr/**wws/info/caml-list > Beginner's list: http://groups.yahoo.com/group/**ocaml_beginners > Bug reports: http://caml.inria.fr/bin/caml-**bugs > >