From: ········@gmail.com
Subject: compiler verbosity
Date: 
Message-ID: <1190086978.575597.126020@g4g2000hsf.googlegroups.com>
As a test i typed "defun' in 4 different lisp compilers (clisp, cmucl,
sbcl, gcl) to see the error messages, sbcl gave an extremely verbose
one. gcl had the shortest:

~/$ cmucl
CMU Common Lisp CVS 19d 19d-release (19D), running on netrek
With core: /usr/lib/cmucl/lisp.core
Dumped on: Sun, 2007-08-19 23:28:48-04:00 on netrek
For support see http://www.cons.org/cmucl/support.html Send bug
reports to the debian BTS.
or to ········@debian.org
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
* defun

Error in KERNEL::UNBOUND-SYMBOL-ERROR-HANDLER:  the variable DEFUN is
unbound.
   [Condition of type UNBOUND-VARIABLE]

Restarts:
  0: [ABORT] Return to Top-Level.

Debug  (type H for help)

(EVAL DEFUN)
Source:
; File: target:code/eval.lisp
(SYMBOL-VALUE EXP)
0] (quit)

~/$ clisp
  i i i i i i i       ooooo    o        ooooooo   ooooo   ooooo
  I I I I I I I      8     8   8           8     8     o  8    8
  I  \ `+' /  I      8         8           8     8        8    8
   \  `-+-'  /       8         8           8      ooooo   8oooo
    `-__|__-'        8         8           8           8  8
        |            8     o   8           8     o     8  8
  ------+------       ooooo    8oooooo  ooo8ooo   ooooo   8

Copyright (c) Bruno Haible, Michael Stoll 1992, 1993
Copyright (c) Bruno Haible, Marcus Daniels 1994-1997
Copyright (c) Bruno Haible, Pierpaolo Bernardi, Sam Steingold 1998
Copyright (c) Bruno Haible, Sam Steingold 1999-2000
Copyright (c) Sam Steingold, Bruno Haible 2001-2006

[1]> defun

*** - EVAL: variable DEFUN has no value
The following restarts are available:
USE-VALUE      :R1      You may input a value to be used instead of
DEFUN.
STORE-VALUE    :R2      You may input a new value for DEFUN.
ABORT          :R3      ABORT
Break 1 [2]> ABORT
[3]> (quit)
Bye.

~/$ sbcl
This is SBCL 0.8.17, 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.
* defun

debugger invoked on a UNBOUND-VARIABLE in thread 10316:
  The variable DEFUN is unbound.

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

restarts (invokable by number or by possibly-abbreviated name):
  0: [ABORT   ] Reduce debugger level (leaving debugger, returning to
toplevel).
  1: [TOPLEVEL] Restart at toplevel READ/EVAL/PRINT loop.
(SB-INT:EVAL-IN-LEXENV
 2
 DEFUN
 #S(SB-KERNEL:LEXENV
    :FUNS NIL
    :VARS NIL
    :BLOCKS NIL
    :TAGS NIL
    :TYPE-RESTRICTIONS NIL
    :LAMBDA NIL
    :CLEANUP NIL
    :HANDLED-CONDITIONS NIL
    :DISABLED-PACKAGE-LOCKS NIL
    :POLICY ((SAFETY . 3) (COMPILATION-SPEED . 2) (DEBUG . 2) (SPEED .
1)
             (SPACE . 1) (INHIBIT-WARNINGS . 1))))[:EXTERNAL]
0] (quit)

~/$ gcl
GCL (GNU Common Lisp)  2.6.8 CLtL1    Jul  4 2007 16:45:08
Source License: LGPL(gcl,gmp), GPL(unexec,bfd,xgcl)
Binary License:  GPL due to GPL'ed components: (XGCL READLINE BFD
UNEXEC)
Modifications of this banner must retain notice of a compatible
license
Dedicated to the memory of W. Schelter

Use (help) to get some basic information on how to use GCL.
Temporary directory for compiler files set to /tmp/

>defun

Error: The variable DEFUN is unbound.
Fast links are on: do (si::use-fast-links nil) for debugging
Error signalled by EVAL.
Broken at EVAL.  Type :H for Help.
>>(quit)

Lisp 9000

From: Rainer Joswig
Subject: Re: compiler verbosity
Date: 
Message-ID: <joswig-79FF47.08182418092007@news-europe.giganews.com>
In article <························@g4g2000hsf.googlegroups.com>,
 ·········@gmail.com" <········@gmail.com> wrote:

> As a test i typed "defun' in 4 different lisp compilers (clisp, cmucl,
> sbcl, gcl) to see the error messages, sbcl gave an extremely verbose
> one. gcl had the shortest:

Your wording is misleading. A compiler is a part of a Lisp
implementation. What you see is the error reporting
of the Lisp implementation in the REPL. If you
type an unbound variable to the REPL, you get an
error back. Whether the Lisp implementation is
using a compiler in the REPL is different from
implementation to implementation.

But what is the point of your posting?

> 
> ~/$ cmucl
> CMU Common Lisp CVS 19d 19d-release (19D), running on netrek
> With core: /usr/lib/cmucl/lisp.core
> Dumped on: Sun, 2007-08-19 23:28:48-04:00 on netrek
> For support see http://www.cons.org/cmucl/support.html Send bug
> reports to the debian BTS.
> or to ········@debian.org
> 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
> * defun
> 
> Error in KERNEL::UNBOUND-SYMBOL-ERROR-HANDLER:  the variable DEFUN is
> unbound.
>    [Condition of type UNBOUND-VARIABLE]
> 
> Restarts:
>   0: [ABORT] Return to Top-Level.
> 
> Debug  (type H for help)
> 
> (EVAL DEFUN)
> Source:
> ; File: target:code/eval.lisp
> (SYMBOL-VALUE EXP)
> 0] (quit)
> 
> ~/$ clisp
>   i i i i i i i       ooooo    o        ooooooo   ooooo   ooooo
>   I I I I I I I      8     8   8           8     8     o  8    8
>   I  \ `+' /  I      8         8           8     8        8    8
>    \  `-+-'  /       8         8           8      ooooo   8oooo
>     `-__|__-'        8         8           8           8  8
>         |            8     o   8           8     o     8  8
>   ------+------       ooooo    8oooooo  ooo8ooo   ooooo   8
> 
> Copyright (c) Bruno Haible, Michael Stoll 1992, 1993
> Copyright (c) Bruno Haible, Marcus Daniels 1994-1997
> Copyright (c) Bruno Haible, Pierpaolo Bernardi, Sam Steingold 1998
> Copyright (c) Bruno Haible, Sam Steingold 1999-2000
> Copyright (c) Sam Steingold, Bruno Haible 2001-2006
> 
> [1]> defun
> 
> *** - EVAL: variable DEFUN has no value
> The following restarts are available:
> USE-VALUE      :R1      You may input a value to be used instead of
> DEFUN.
> STORE-VALUE    :R2      You may input a new value for DEFUN.
> ABORT          :R3      ABORT
> Break 1 [2]> ABORT
> [3]> (quit)
> Bye.
> 
> ~/$ sbcl
> This is SBCL 0.8.17, 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.
> * defun
> 
> debugger invoked on a UNBOUND-VARIABLE in thread 10316:
>   The variable DEFUN is unbound.
> 
> You can type HELP for debugger help, or (SB-EXT:QUIT) to exit from
> SBCL.
> 
> restarts (invokable by number or by possibly-abbreviated name):
>   0: [ABORT   ] Reduce debugger level (leaving debugger, returning to
> toplevel).
>   1: [TOPLEVEL] Restart at toplevel READ/EVAL/PRINT loop.
> (SB-INT:EVAL-IN-LEXENV
>  2
>  DEFUN
>  #S(SB-KERNEL:LEXENV
>     :FUNS NIL
>     :VARS NIL
>     :BLOCKS NIL
>     :TAGS NIL
>     :TYPE-RESTRICTIONS NIL
>     :LAMBDA NIL
>     :CLEANUP NIL
>     :HANDLED-CONDITIONS NIL
>     :DISABLED-PACKAGE-LOCKS NIL
>     :POLICY ((SAFETY . 3) (COMPILATION-SPEED . 2) (DEBUG . 2) (SPEED .
> 1)
>              (SPACE . 1) (INHIBIT-WARNINGS . 1))))[:EXTERNAL]
> 0] (quit)
> 
> ~/$ gcl
> GCL (GNU Common Lisp)  2.6.8 CLtL1    Jul  4 2007 16:45:08
> Source License: LGPL(gcl,gmp), GPL(unexec,bfd,xgcl)
> Binary License:  GPL due to GPL'ed components: (XGCL READLINE BFD
> UNEXEC)
> Modifications of this banner must retain notice of a compatible
> license
> Dedicated to the memory of W. Schelter
> 
> Use (help) to get some basic information on how to use GCL.
> Temporary directory for compiler files set to /tmp/
> 
> >defun
> 
> Error: The variable DEFUN is unbound.
> Fast links are on: do (si::use-fast-links nil) for debugging
> Error signalled by EVAL.
> Broken at EVAL.  Type :H for Help.
> >>(quit)
> 
> Lisp 9000

-- 
http://lispm.dyndns.org
From: Juho Snellman
Subject: Re: compiler verbosity
Date: 
Message-ID: <slrnff2a24.nja.jsnell@sbz-30.cs.Helsinki.FI>
········@gmail.com <········@gmail.com> wrote:

[ In another message... ]
>I see. I was curious why sbcl gives such a verbose error message and
>what it all means.

[...]
> ~/$ sbcl
> This is SBCL 0.8.17, an implementation of ANSI Common Lisp.

This version of sbcl is probably around 3 years old. I would suggest
upgrading.

[...]
> * defun
>
> debugger invoked on a UNBOUND-VARIABLE in thread 10316:
>   The variable DEFUN is unbound.

This is the error message. It doesn't seem very verbose. Everything
below is related to the debugger, not directly to the error.

> You can type HELP for debugger help, or (SB-EXT:QUIT) to exit from
> SBCL.

This is for making the transition from the normal repl to the debugger
a bit less confusing for newbies. IIRC there used to be some
additional help text in this message telling about how to disable it,
but it was removed due to being (ha, ha) too verbose. The way to do it
is by setting *DEBUG-BEGINNER-HELP-P* to NIL.

> restarts (invokable by number or by possibly-abbreviated name):
>   0: [ABORT   ] Reduce debugger level (leaving debugger, returning to
> toplevel).
>   1: [TOPLEVEL] Restart at toplevel READ/EVAL/PRINT loop.

This tells which restarts are available.

> (SB-INT:EVAL-IN-LEXENV
>  2
>  DEFUN
>  #S(SB-KERNEL:LEXENV
>     :FUNS NIL
>     :VARS NIL
>     :BLOCKS NIL
>     :TAGS NIL
>     :TYPE-RESTRICTIONS NIL
>     :LAMBDA NIL
>     :CLEANUP NIL
>     :HANDLED-CONDITIONS NIL
>     :DISABLED-PACKAGE-LOCKS NIL
>     :POLICY ((SAFETY . 3) (COMPILATION-SPEED . 2) (DEBUG . 2) (SPEED .
> 1)
>              (SPACE . 1) (INHIBIT-WARNINGS . 1))))[:EXTERNAL]

This is the topmost execution frame (the name of the function
corresponding to that frame and the arguments with which it was
called). With a newer sbcl this particular frame would be less
verbose.

-- 
Juho Snellman
From: ········@gmail.com
Subject: Re: compiler verbosity
Date: 
Message-ID: <1190243531.487746.148420@y42g2000hsy.googlegroups.com>
On Sep 19, 9:46 am, Juho Snellman <······@iki.fi> wrote:
>
> This is the topmost execution frame (the name of the function
> corresponding to that frame and the arguments with which it was
> called). With a newer sbcl this particular frame would be less
> verbose.
>
> --
> Juho Snellman

Thanks for the clarification Juho. I am using the latest version of
sbcl packaged for Debian testing release. I know Debian lags behind
for the sake of stability but 3 years seems a bit much! heh. I will
look into installing a newer version of sbcl manually into  /usr/
local/

Zach