1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
(define-module (2024-06-18-define-bug))
(use-modules (system base compile))
(define (peval e)
(compile
e
#:to 'value
#:env (resolve-module
'(2024-06-18-define-bug))))
(define (test-eval teval)
(teval '(define a 1))
(teval '(define a a))
(format #t "a value with ~a is ~a\n" teval (teval 'a)))
(test-eval peval)
(test-eval primitive-eval)
(exit 0)
;; guile -l 2024-06-18-define-bug.scm # output is:
;; a value with #<procedure peval (e)> is #<unspecified>
;; a value with #<procedure primitive-eval (exp)> is 1