Consider the following code:

--- prog1.scm ---

(define (main args)
  (let ((a1 (vector "object" #f))
        (a2 (vector "object" #f)))
    (vector-set! a1 1 a2)
    (vector-set! a2 1 a1)
    (display (equal? a1 a2))
    (newline)))

--- prog1.scm ---

If you run the program from Guile REPL an error message "Stack overflow" is printed and the execution is terminated. If you run the program from the shell with command 'guile -e main -s prog1.scm' nothing at all is printed. IMHO an error message should be displayed in the latter case, too.

I use Guile version 3.0.10 in Debian stable.

     - Tommi

--
Kotisivu / Homepage: http://www.iki.fi/tohoyn/
Sähköposti / E-Mail: [email protected]
GPG-sormenjälki / GPG fingerprint:
55F4 2477 7155 3528 5CB2 2B7A BB86 1FDE 4046 0F83
FT, Debian-ylläpitäjä / PhD, Debian Maintainer


Reply via email to