Looks like http://mirror.racket-lang.org\|mirror.racket-lang.org (129.10.116.85) is down.
@vitalii.voloshyn has joined the channel
I found a very strange behavior in Scheme. > (set! xxx 1)
The program above is OK in Chez Scheme, surprising…
Luckily Racket has no this problem > (set! xxx 1)
; set!: assignment disallowed;
; cannot set variable before its definition
BTW, in R5RS spec: > (set! <variable> <expression>) > <Variable> must be bound either in some region enclosing the set! expression or at top level. But R6RS remove this restriction. But I don’t know the motivation behind…
It seems that Scheme (both R5RS and R6RS) loosen the restriction. > Some implementations of Scheme use an initial environment in which all possible variables are bound to locations, most of which contain undefined values. > — R5RS spec 5.2.1.