Prolog: [-integer] C: long int f(...) { long int x; return x; } Pascal: function f(...): integer; var x: integer; begin f := x; end FORTRAN: integer function f(...) integer x f = x end
No argument is passed to the foreign function. The return value from the function is assumed to be a long integer. It is converted to a Prolog integer and unified with the corresponding argument of the Prolog call. The argument can be of any type; if it cannot be unified with the returned integer, the call fails.