Hi!
If a reader error occurs in the REPL the only available restart is
"Abort entirely from this process." Is that expected behaviour? The
other implementations I tried all offer one or more ways to recover
cleanly - at least you're not forced to completely quit the Lisp
image.
[AllegroCL 6.2 trial on Linux x86]
Thanks,
Edi.
<bird:~ at edi> > alisp
WARNING: !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
WARNING: Allegro CL will expire in 23 days.
WARNING: !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
; Fast loading /usr/local/lisp/defsystem.acl.fasl
; Fast loading /usr/local/lisp/asdf.acl.fasl
International Allegro CL Trial Edition
6.2 [Linux (x86)] (Sep 12, 2003 1:39)
Copyright (C) 1985-2002, Franz Inc., Berkeley, CA, USA. All Rights Reserved.
This development copy of Allegro CL is licensed to:
Dr. Edmund Weitz, self-employed
;; Optimization settings: safety 1, space 1, speed 1, debug 2.
;; For a complete description of all compiler switches given the
;; current optimization settings evaluate (EXPLAIN-COMPILER-SETTINGS).
CL-USER(1): (* #.(/ 3 0) 4)
Error: Attempt to divide 3 by zero.
[condition type: DIVISION-BY-ZERO]
Restart actions (select using :continue):
0: Abort entirely from this process.
[1] CL-USER(2): :continue 0
<bird:~ at edi> > lw
LispWorks(R): The Common Lisp Programming Environment
Copyright (C) 1987-2002 Xanalys LLC. All rights reserved.
Version 4.2.7
Saved by edi as lw-ilisp-capi, at 04 Oct 2002 0:52
User edi on bird.agharta.de
; Loading text file /usr/local/lib/LispWorks/lib/4-2-0-0/config/siteinit.lisp
; Loading text file /usr/local/lib/LispWorks/lib/4-2-0-0/private-patches/load.lisp
; Loading text file /home/edi/.lispworks
; Loading fasl file /usr/local/lib/LispWorks/defsystem.ufsl
; Loading text file /usr/local/lisp/asdf.lisp
; Loading /usr/local/lib/LispWorks/lib/4-2-0-0/modules/concat/xp-fancyformat.ufsl on demand...
CL-USER 1 > (* #.(/ 3 0) 4)
Error: Division-by-zero caused by / of (3 0).
1 (continue) Return a value to use.
2 Supply new arguments to use.
3 (abort) Return to level 0.
4 Return to top-level loop.
5 Return from multiprocessing.
Type :b for backtrace, :c <option number> to proceed, or :? for other options
CL-USER 1 : 1 > :c
Supply a form to be evaluated and used: 2
8