[racket-dev] Top level is hopeless or bug?
Hi all,
Is the following interaction the expected behavior here or is it a bug?
Welcome to Racket v5.3.0.24.
-> (module foo racket (define x 0) (provide x))
-> (require 'foo)
-> x
0
-> (module foo racket (module* bar #f (define x 1) (provide x)))
-> x
; readline-input:4:0: link: module mismatch;
; possibly, bytecode file needs re-compile because dependencies changed
; exporting module: 'foo
; exporting phase level: 0
; internal explanation: variable not provided (directly or indirectly)
; in: x
; [,bt for context]
This is also interesting:
Welcome to Racket v5.3.0.24.
-> (module foo racket (define x 0) (provide x))
-> (require 'foo)
-> x
0
-> (module foo racket (define x 1) (provide x))
; define-values: assignment disallowed;
; cannot re-define a constant
; constant: x
; in module: 'foo
; [,bt for context]
-> x
1
Cheers,
Asumu