Hi there, how can bignums be communicated to/from Ciao Prolog? More precisely, since we have $ ciao Ciao-Prolog 1.9 #34: Sat Nov 30 19:17:43 CET 2002 ?- current_prolog_flag(bounded, X). X = false ? yes ?- integers are unbounded. However, the function ciao_term ciao_integer(int i) allows to build only integers that fit in a machine word. The problem with the design of the function int ciao_to_integer(ciao_term term) appears to be more serious, as the C application seems to have no way of detecting whether the conversion was successful or not. It would seem better to define something like int ciao_to_integer(ciao_term term, long* pl) so that 0 is returned if the conversion failed (in which case *pl has not been touched), and a number different from 0 otherwise. Bignums could then be communicated with a pair of functions ciao_get_number_chars() and ciao_put_number_chars(). What do you think? Best wishes to you all Roberto -- Prof. Roberto Bagnara Computer Science Group Department of Mathematics, University of Parma, Italy http://www.cs.unipr.it/~bagnara/ mailto:bagnara@cs.unipr.it