bug-prolog
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Bug, or at least something wrong


From: Felipe Ignacio Canas Sabat
Subject: Bug, or at least something wrong
Date: Sun, 21 Oct 2007 16:44:27 -0300

Hello,

These are the commands I am using:

%%%%%%%%%%%%
even(X) :-
  A is X mod 2,
  A == 0.

odd(X) :-
  A is X mod 2,
  A == 1.

step(X,Y) :-
  X > 1,
  even(X),
  Y is X/2.

step(X,Y) :-
  X > 1,
  odd(X),
  Y is 3*X + 1.
%%%%%%%%%%%%

And this is what I'm running:

  | ?- step(32,X), step(X,Y), step(Y,Z).

And this is the error I get:

  uncaught exception: error(type_error(integer,16.0),(is)/2)

I don't get this error when I run it on SWI-prolog, and I really don't
see what the error is. This is the trace:

      1    1  Call: step(32,_16) ?
      2    2  Call: 32>1 ?
      2    2  Exit: 32>1 ?
      3    2  Call: even(32) ?
      4    3  Call: _166 is 32 mod 2 ?
      4    3  Exit: 0 is 32 mod 2 ?
      5    3  Call: 0==0 ?
      5    3  Exit: 0==0 ?
      3    2  Exit: even(32) ?
      6    2  Call: _16 is 32/2 ?
      6    2  Exit: 16.0 is 32/2 ?
      1    1  Exit: step(32,16.0) ?
      7    1  Call: step(16.0,_20) ?
      8    2  Call: 16.0>1 ?
      8    2  Exit: 16.0>1 ?
      9    2  Call: even(16.0) ?
*    10    3  Call: _320 is 16.0 mod 2 ?
*    10    3  Exception: _332 is 16.0 mod 2 ?
      9    2  Exception: even(16.0) ?
      7    1  Exception: step(16.0,_20) ?

I put the asterisks next to the lines where I see something strange
happening. Namely, it goes from assigning something to _320 to then
report an exception concerning _332.

What's more, after running the same instruction once more, I get a
Segmentation Fault. I couldn't figure out how to build a not stripped
binary, so no backtrace, sorry.

Some required info:

Machine:
Linux <hostname> 2.6.18-5-686 #1 SMP <date> i686 GNU/Linux

Distro:
Debian 4.0r1 (Etch)

GNU Prolog version:
1.3.0

Hope it helps.

Bye,
-Felipe





reply via email to

[Prev in Thread] Current Thread [Next in Thread]