Subject: cl-statistics + SBCL: compiles but still throws an error
From: Kevin L <[email-masked]>
To: [email-masked]
Date: Fri, 29 Sep 2006 14:53:33 -0500

Package: cl-statistics

This is strange:  cl-statistics compiles fine in CMUCL and *appears* to 
compile fine in SBCL, but SBCL still throws an error.

I have (declaim (sb-ext:muffle-conditions sb-ext:compiler-note)) in my 
.sbclrc to suppress about 11000 notes (each note > 10 lines long).

# dpkg -p cl-statistics
Package: cl-statistics
Priority: optional
Section: devel
Installed-Size: 156
Maintainer: Peter Van Eynde <[email-masked]>
Architecture: all
Version: 20050224-2
Depends: common-lisp-controller (>= 5.11)
Size: 31886
Description: Common Lisp Statistics Package
  cl-statistics provides numerous statistical functions for use in
  Common Lisp programs.

# dpkg -p sbcl
Package: sbcl
Priority: optional
Section: devel
Installed-Size: 27896
Maintainer: Peter Van Eynde <[email-masked]>
Architecture: i386
Version: 1:0.9.16.0-1
Provides: lisp-compiler, sbcl-fasl-loader-69
Depends: libc6 (>= 2.3.6-6), common-lisp-controller (>= 5.11)
Recommends: binfmt-support (>= 1.1.2)
Suggests: sbcl-doc, sbcl-source, slime
Conflicts: cl-clx-sbcl (<= 0.7.0-1), common-lisp-controller (<= 5.11)
Size: 8388176
Description: A Common Lisp compiler and development system
  SBCL is a development environment for the ANSI Common Lisp language.
  It provides a native-code compiler and an integrated debugger, as well
  as all the features in the ANSI specification.
  .
  SBCL also contains other extensions to the ANSI specification, including
  a foreign-function interface, a pseudo-server API, user-extensible
  stream functionality, a Meta-Object Protocol, and an ability to run
  external processes.
  .
  To browse SBCL source definitions with development environments,
  install the sbcl-source package. For documentation on SBCL's usage
  and internals, the package sbcl-doc is provided.
  .
   Homepage: http://www.sbcl.org

Steps to reproduce the bug:

----snip----snip----

$ rm 
/var/cache/common-lisp-controller/1000/sbcl/cl-statistics/cl-statistics.fasl

$ sbcl
This is SBCL 0.9.16, an implementation of ANSI Common Lisp.
More information about SBCL is available at <http://www.sbcl.org/>.

SBCL is free software, provided as is, with absolutely no warranty.
It is mostly in the public domain; some portions are provided under
BSD-style licenses.  See the CREDITS and COPYING files in the
distribution for more information.
* (asdf:operate 'asdf:load-op :cl-statistics :verbose nil)

; compiling file 
"/usr/share/common-lisp/source/cl-statistics/cl-statistics.lisp" 
(written 06 SEP 2006 01:36:49 AM):
; compiling (DECLAIM (OPTIMIZE # ...))
; compiling (DEFPACKAGE :STATISTICS ...)
; compiling (IN-PACKAGE :STATISTICS)
; compiling (DEFMACRO TEST-VARIABLES ...)
; compiling (DEFMACRO SQUARE ...)
; compiling (DEFMACRO UNDERFLOW-GOES-TO-ZERO ...)
; compiling (DEFPACKAGE :STATISTICS ...);
; caught WARNING:
;   STATISTICS also exports the following symbols:
;     (FISHER-Z-TRANSFORM NORMAL-MEAN-CI-ON-SEQUENCE 
FALSE-DISCOVERY-CORRECTION)
;   See also:
;     The ANSI Standard, Macro DEFPACKAGE

; compiling (DECLAIM (OPTIMIZE # ...))
; compiling (IN-PACKAGE :STATISTICS)
; compiling (DEFMACRO TEST-VARIABLES ...); in: LAMBDA NIL
;     (LET* ((STATISTICS::DUMMY (CDR #:WHOLE60)))
;     (BLOCK STATISTICS:TEST-VARIABLES))
;
; caught STYLE-WARNING:
;   The variable DUMMY is defined but never used.

; file: /usr/share/common-lisp/source/cl-statistics/cl-statistics.lisp
; in: DEFMACRO TEST-VARIABLES
;     (DEFMACRO STATISTICS:TEST-VARIABLES (&REST STATISTICS::DUMMY))
; --> EVAL-WHEN SB-C::%DEFMACRO LAMBDA FUNCTION LET*
; ==>
;   (LET* ((STATISTICS::DUMMY (CDR #:WHOLE60)))
;     (BLOCK STATISTICS:TEST-VARIABLES))
;
; caught STYLE-WARNING:
;   The variable DUMMY is defined but never used.

; compiling (DEFMACRO SQUARE ...)
; compiling (DEFUN MEAN ...)
; compiling (DEFUN MEDIAN ...)
; compiling (DEFUN MODE ...)
; compiling (DEFUN GEOMETRIC-MEAN ...)
; compiling (DEFUN RANGE ...)
; compiling (DEFUN PERCENTILE ...)
; compiling (DEFUN VARIANCE ...)
; compiling (DEFUN STANDARD-DEVIATION ...)
; compiling (DEFUN SD ...)
; compiling (DEFUN COEFFICIENT-OF-VARIATION ...)
; compiling (DEFUN STANDARD-ERROR-OF-THE-MEAN ...)
; compiling (DEFUN BINOMIAL-PROBABILITY ...)
; compiling (DEFUN BINOMIAL-CUMULATIVE-PROBABILITY ...)
; compiling (DEFUN BINOMIAL-GE-PROBABILITY ...)
; compiling (DEFUN BINOMIAL-LE-PROBABILITY ...)
; compiling (DEFUN POISSON-PROBABILITY ...)
; compiling (DEFUN POISSON-CUMULATIVE-PROBABILITY ...)
; compiling (DEFUN POISSON-GE-PROBABILITY ...)
; compiling (DEFUN NORMAL-PDF ...)
; compiling (DEFUN CONVERT-TO-STANDARD-NORMAL ...)
; compiling (DEFUN PHI ...)
; compiling (DEFUN Z ...)
; compiling (DEFUN T-DISTRIBUTION ...)
; compiling (DEFUN CHI-SQUARE ...)
; compiling (DEFUN CHI-SQUARE-CDF ...)
; compiling (DEFUN BINOMIAL-PROBABILITY-CI ...)
; compiling (DEFUN POISSON-MU-CI ...)
; compiling (DEFUN NORMAL-MEAN-CI ...)
; compiling (DEFUN NORMAL-MEAN-CI-ON-SEQUENCE ...)
; compiling (DEFUN NORMAL-VARIANCE-CI ...)
; compiling (DEFUN NORMAL-VARIANCE-CI-ON-SEQUENCE ...)
; compiling (DEFUN NORMAL-SD-CI ...)
; compiling (DEFUN NORMAL-SD-CI-ON-SEQUENCE ...)
; compiling (DEFUN Z-TEST ...)
; compiling (DEFUN Z-TEST-ON-SEQUENCE ...)
; compiling (DEFUN T-TEST-ONE-SAMPLE ...)
; compiling (DEFUN T-TEST-ONE-SAMPLE-ON-SEQUENCE ...)
; compiling (DEFUN T-TEST-PAIRED ...)
; compiling (DEFUN T-TEST-PAIRED-ON-SEQUENCES ...)
; compiling (DEFUN T-TEST-TWO-SAMPLE ...)
; compiling (DEFUN T-TEST-TWO-SAMPLE-ON-SEQUENCES ...)
; compiling (DEFUN F-TEST ...)
; compiling (DEFUN CHI-SQUARE-TEST-ONE-SAMPLE ...)
; compiling (DEFUN BINOMIAL-TEST-ONE-SAMPLE ...)
; compiling (DEFUN BINOMIAL-TEST-TWO-SAMPLE ...)
; compiling (DEFUN FISHER-EXACT-TEST ...)
; compiling (DEFUN MCNEMARS-TEST ...)
; compiling (DEFUN POISSON-TEST-ONE-SAMPLE ...)
; compiling (DEFUN SIGN-TEST ...)
; compiling (DEFUN SIGN-TEST-ON-SEQUENCES ...)
; compiling (DEFUN WILCOXON-SIGNED-RANK-TEST ...)
; compiling (DEFUN WILCOXON-SIGNED-RANK-TEST-ON-SEQUENCES ...)
; compiling (DEFUN CHI-SQUARE-TEST-RXC ...)
; compiling (DEFUN CHI-SQUARE-TEST-FOR-TREND ...)
; compiling (DEFUN T-TEST-ONE-SAMPLE-SSE ...)
; compiling (DEFUN T-TEST-TWO-SAMPLE-SSE ...)
; compiling (DEFUN T-TEST-PAIRED-SSE ...)
; compiling (DEFUN BINOMIAL-TEST-ONE-SAMPLE-SSE ...)
; compiling (DEFUN BINOMIAL-TEST-TWO-SAMPLE-SSE ...)
; compiling (DEFUN BINOMIAL-TEST-PAIRED-SSE ...)
; compiling (DEFUN CORRELATION-SSE ...)
; compiling (DEFUN LINEAR-REGRESSION ...)
; compiling (DEFUN CORRELATION-COEFFICIENT ...)
; compiling (DEFUN CORRELATION-TEST-TWO-SAMPLE ...)
; compiling (DEFUN CORRELATION-TEST-TWO-SAMPLE-ON-SEQUENCES ...)
; compiling (DEFUN SPEARMAN-RANK-CORRELATION ...)
; compiling (DEFUN T-SIGNIFICANCE ...)
; compiling (DEFUN F-SIGNIFICANCE ...)
; compiling (DEFUN RANDOM-SAMPLE ...)
; compiling (DEFUN RANDOM-PICK ...)
; compiling (DEFUN RANDOM-NORMAL ...)
; compiling (DEFUN BIN-AND-COUNT ...)
; compiling (DEFUN FISHER-Z-TRANSFORM ...)
; compiling (DEFUN PERMUTATIONS ...)
; compiling (DEFUN CHOOSE ...)
; compiling (DEFUN MEAN-SD-N ...)
; compiling (DEFUN ROUND-FLOAT ...)
; compiling (DEFUN FALSE-DISCOVERY-CORRECTION ...)
; compiling (DEFUN ROUND-UP ...)
; compiling (DEFUN SIGN ...)
; compiling (DEFUN FACTORIAL ...)
; compiling (DEFUN AVERAGE-RANK ...)
; compiling (DEFUN ERROR-FUNCTION ...)
; compiling (DEFUN GAMMA-INCOMPLETE ...)
; compiling (DEFUN GAMMA-LN ...)
; compiling (DEFUN ERROR-FUNCTION-COMPLEMENT ...)
; compiling (DEFUN FIND-CRITICAL-VALUE ...)
; compiling (DEFUN BETA-INCOMPLETE ...)
; compiling (DEFUN SAFE-EXP ...)

; 
/var/cache/common-lisp-controller/1000/sbcl/cl-statistics/cl-statistics.fasl 
written
; compilation finished in 0:00:02
WARNING:
    COMPILE-FILE warned while performing #<COMPILE-OP (:VERBOSE NIL) 
{A966E29}>
    on #<CL-SOURCE-FILE "cl-statistics" {A928E91}>.

debugger invoked on a ASDF:COMPILE-FAILED in thread #<THREAD "initial 
thread" {A7C05A9}>:
   erred while invoking #<COMPILE-OP (:VERBOSE NIL) {A966E29}> on
   #<CL-SOURCE-FILE "cl-statistics" {A928E91}>

Type HELP for debugger help, or (SB-EXT:QUIT) to exit from SBCL.

restarts (invokable by number or by possibly-abbreviated name):
   0: [RETRY ] Retry performing #<ASDF:COMPILE-OP (:VERBOSE NIL) 
{A966E29}> on
               #<ASDF:CL-SOURCE-FILE "cl-statistics" {A928E91}>.
   1: [ACCEPT] Continue, treating #<ASDF:COMPILE-OP (:VERBOSE NIL) 
{A966E29}> on
               #<ASDF:CL-SOURCE-FILE "cl-statistics" {A928E91}> as 
having been
               successful.
   2: [ABORT ] Exit debugger, returning to top level.

((SB-PCL::FAST-METHOD ASDF:PERFORM (ASDF:COMPILE-OP ASDF:CL-SOURCE-FILE))
  #<unavailable argument>
  #<unavailable argument>
  #<ASDF:COMPILE-OP (:VERBOSE NIL) {A966E29}>
  #<ASDF:CL-SOURCE-FILE "cl-statistics" {A928E91}>)
0]

----snip----snip----

Compare to CMUCL procedure:

----snip----snip----

$ rm 
/var/cache/common-lisp-controller/1000/cmucl/cl-statistics/cl-statistics.x86f 

$ lisp
; Loading #P"/home/kevinl/.cmucl-init".
CMU Common Lisp CVS 19c 19c-release-patch-1 + minimal debian patches 
(19C), running on tinker
With core: /usr/lib/cmucl/lisp.core
Dumped on: Fri, 2006-09-15 22:57:22-05:00 on tinker
For support see http://www.cons.org/cmucl/support.html Send bug reports 
to the debian BTS.
or to [email-masked]
type (help) for help, (quit) to exit, and (demo) to see the demos

Loaded subsystems:
     Python 1.1, target Intel x86
     CLOS based on Gerd's PCL 2004/04/14 03:32:47
* (declaim (optimize (extensions:inhibit-warnings 3)))

NIL
* (asdf:operate 'asdf:load-op :cl-statistics :verbose nil)
;

; Warning: STATISTICS also exports the following symbols:
;   (FALSE-DISCOVERY-CORRECTION FISHER-Z-TRANSFORM 
NORMAL-MEAN-CI-ON-SEQUENCE)
; ;

; Warning: STATISTICS also exports the following symbols:
;   (FISHER-Z-TRANSFORM FALSE-DISCOVERY-CORRECTION 
NORMAL-MEAN-CI-ON-SEQUENCE)
;
;

; Warning: STATISTICS also exports the following symbols:
;   (FISHER-Z-TRANSFORM FALSE-DISCOVERY-CORRECTION 
NORMAL-MEAN-CI-ON-SEQUENCE)
;
Warning:
    COMPILE-FILE warned while performing #<COMPILE-OP (:VERBOSE NIL) 
{582C5CF5}>
    on #<CL-SOURCE-FILE "cl-statistics" {58039F25}>.
Warning:
    COMPILE-FILE failed while performing #<COMPILE-OP (:VERBOSE NIL) 
{582C5CF5}>
    on #<CL-SOURCE-FILE "cl-statistics" {58039F25}>.
Warning:  STATISTICS also exports the following symbols:
   (STATISTICS:NORMAL-MEAN-CI-ON-SEQUENCES STATISTICS:FISHERS-Z-TRANSFORM)
Warning:  STATISTICS also exports the following symbols:
   (FISHER-Z-TRANSFORM FALSE-DISCOVERY-CORRECTION 
NORMAL-MEAN-CI-ON-SEQUENCE)

; Compilation unit finished.
;   3 warnings

NIL
*

----snip----snip----