I pasted the SICStus Prolog 4.3.3
SP_define_c_predicate()
sample as-is—and... failed:
$ /usr/local/sicstus4.3.3/bin/splfr square.pl square.c square.c: In function ‘square_it’: square.c:7:3: error: unknown type name ‘SP_WORD’ SP_WORD arg1; ^ square.c:13:3: warning: passing argument 2 of ‘sp_GlobalSICStus_square->dispatch_API_SICSTUS_H->pSP_get_integer’ from incompatible pointer type [enabled by default] if (!SP_get_integer(tmp,&arg1)) ^ square.c:13:3: note: expected ‘SP_integer *’ but argument is of type ‘int *’ Uncaught exception from user code: ! Could not compile square.c
So far, I grepped the SICStus C include files for SP_WORD
—to no avail.
Do you have some hints how I can make it work? Thank you in advance!
(FYI: I'm using x86-64 Linux Mint 17 with gcc version 4.8.4.)
The examples should have used SP_integer
instead of the internal type SP_WORD
.