Version française
Home     About     Download     Resources     Contact us    

This site is updated infrequently. For up-to-date information, please visit the new OCaml website at

Browse thread
stack overflow in structural comparison
[ Home ] [ Index: by date | by threads ]
[ Search: ]

[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
Date: -- (:)
From: Michael Levin <milevin@s...>
Subject: stack overflow in structural comparison

I've recently upgraded from ocaml 3.06 to ocaml 3.08 and that
caused a frustrating Out_of_memory exception in my Xtatic
compiler. I traced it by turning on the full verbose mode in the
GC and getting the message "stack overflow in structural
comparison" right before the exception is thrown. 

The line that causes the exception contains "sts1=sts2" where
sts1 and sts2 are lists of values of a complicated cyclic data
type. I fixed the problem by replacing that comparison by a call
to an equivalent hand-written predicate.

The original comparison operator though worked fine in ocaml
3.06. So my question is what changed from 3.06 to 3.08? Is that a
known bug/feature?

Thank you,