[ sisc-Bugs-1787330 ] SISC problems with Scheme conformance test

"SourceForge.net" <[email protected]> Mon, 03 Sep 2007 13:49:41 -0700
Newsgroups gmane.comp.java.sisc.devel
Message-ID <[email protected]>
Bugs item #1787330, was opened at 2007-09-03 16:49
Message generated for change (Tracker Item Submitted) made by Item Submitter
You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=379534&aid=1787330&group_id=23735

Please note that this message will contain a full copy of the comment thread,
including the initial issue submission, for this request,
not just the latest update.
Category: None
Group: None
Status: Open
Resolution: None
Priority: 5
Private: No
Submitted By: Aubrey Jaffer (jaffer)
Assigned to: Nobody/Anonymous (nobody)
Summary: SISC problems with Scheme conformance test

Initial Comment:
  bash-3.1$ sisc -v
  which: no rlwrap in (/home/jaffer/bin:/usr/kerberos/bin:/usr/java/jdk1.5.0_08/bin:/usr/local/bin:/usr/bin:/bin:/usr/X11R6/bin:/sbin:/usr/sbin:/usr/local/chipmunk/bin:/usr/java/jdk1.5.0_08/bin)
  SISC - The Second Interpreter of Scheme Code - 1.16.6
  bash-3.1$ uname -a
  Linux aubrey.jaffer 2.6.20-1.2320.fc5smp #1 SMP Tue Jun 12 19:40:16 EDT 2007 i686 i686 i386 GNU/Linux
  bash-3.1$ which java
  /usr/java/jdk1.5.0_08/bin/java

SISC fails part of my "R4RS conformance test for Scheme implementations"
(http://cvs.savannah.gnu.org/viewcvs/*checkout*/scm/scm/r4rstest.scm?rev=HEAD)

  (string->number "1/0") ==> Error in load: evaluation error at file:r4rstest.scm:596:1
  ---------------------------
  To enable more detailed stack tracing, set the dynamic parameter max-stack-trace-depth to a non-zero value, e.g. 16.
  ---------------------------
  Some stack trace entries may have been suppressed. To see all entries set the dynamic parameter suppressed-stack-trace-source-kinds to '().
  ===========================
  Caused by Error in string->number: <java.lang.ArithmeticException>: division by zero.
  SISC (1.16.6)

Is SISC coercing bignums to floats before comparisons?  That is not
correct R4RS/R5RS behavior.  The second test below (which succeeds)
only differs from the first in the order of arguments to =.  They
should both return #f:

  (define (test-numeric-predicates)
    (let* ((big-ex (expt 2 150))
	   (big-inex (exact->inexact big-ex)))
      (newline)
      (display ";testing bignum-inexact comparisons;")
      (newline)
      (SECTION 6 5 5)
      (test #f = (+ big-ex 1) big-inex (- big-ex 1))
      (test #f = big-inex (+ big-ex 1) (- big-ex 1))
      (test #t < (- (inexact->exact big-inex) 1)
	    big-inex
	    (+ (inexact->exact big-inex) 1))))

  ;testing bignum-inexact comparisons;
  SECTION(6 5 5)
  (#<native procedure => 1427247692705959881058285969449495136382746625 1.4272476927059599e45 1427247692705959881058285969449495136382746623)  ==> #t
   BUT EXPECTED #f
  (#<native procedure => 1.4272476927059599e45 1427247692705959881058285969449495136382746625 1427247692705959881058285969449495136382746623)  ==> #f
  (#<native procedure <> 1427247692705959881058285969449495136382746623 1.4272476927059599e45 1427247692705959881058285969449495136382746625)  ==> #f
   BUT EXPECTED #t

  (#<procedure expt> -3.25 0)  ==> 1
   BUT EXPECTED 1.0

The following 3 are not violations, but are an area where the quality
of implementation can be easily improved.  See:
http://swiss.csail.mit.edu/~jaffer/III/ComplexMagnitude

  SECTION(6 5 5)
  (magnitude infinity.0)  ==> infinity.0
   BUT EXPECTED 1.0
  (#<native procedure /> 1.0e300+1.0e300i 4.0e300+4.0e300i)  ==> nannani
   BUT EXPECTED 0.25
  (magnitude 0.0)  ==> 0.0
   BUT EXPECTED 1.0

It might be a good idea to make running of
http://cvs.savannah.gnu.org/viewcvs/*checkout*/scm/scm/r4rstest.scm?rev=HEAD
part of SISC's release process.



----------------------------------------------------------------------

You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=379534&aid=1787330&group_id=23735

-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >>  http://get.splunk.com/