attached mail follows:
Hello, I know the title is not very original, but i haven't found a funny one instead... Here's our problem: when executing the request make_term(0,_) :- !. make_term(Size,a(Term1,e(p(p(v(a),v(b)),v(c))v(d)),t)) :- Size1 is Size - 1, make_term(Size1,Term1). make_term(99,T),assert((toto(X):-X=T)). within ECLiPSe (version 5.4 and 5.6.43), we get the following error message: Segmentation violation - possible reasons are: - a faulty external C function - certain operations on circular terms - machine stack overflow - an internal error in ECLiPSe Aborting execution.... for a value of parameter Size precisely from 99 (ie it is ok until 98). The problem occurs when the assert is called. It seems to be a problem of nested calls since when trying to simplify the built term (removing for instance arguments of predicate p, or a), the limit value rises. However, we are used to manage deeper terms without other problems, so we are quite perplex here. In case this is a "normal" behaviour of the compiler, due to the maximal size of a resource, is there still a way to circumvent this problem? Thanks in advance Benjamin Blanc Bruno MarreReceived on Thu Feb 05 11:36:56 2004
This archive was generated by hypermail 2.1.8 : Wed 16 Nov 2005 06:08:24 PM GMT GMT