Is this a bug?

guile> (begin (define x 0) (+ x 1))
1

guile> (lambda () (begin (define x 0) (+ x 1)))
#<procedure #f ()>

guile> (let ((f (lambda () (begin (define x 0) (+ x 1))))) (f))

Backtrace:
In standard input:
   3: 0* (let* ((f (lambda () #))) (f))
   3: 1  [#<procedure #f ()>]

standard input:3:53: In procedure memoization in expression (f):
standard input:3:53: In file "standard input", line 2: Mixed definitions and 
expressio
ns in (begin (define x 0) (+ x 1)).
ABORT: (syntax-error)



Also,

guile> (let () (begin . 1))
Segmentation fault (core dumped)




Reply via email to