On Oct 21, 2016, at 7:24 AM, David Raymond Christiansen
wrote:
> (let ((v #t))
> (if v v fnord))
>
> This is not even a program, because "fnord" has no meaning.
If you don't like unbound-identifer errors, you can change `#%top`:
(define-syntax-rule (#%top . x)
Hi again,
> The latter has the same meaning as this:
>
> (let ((v #t))
> (if v v fnord))
>
> This is not even a program, because "fnord" has no meaning.
Robby pointed out off-list that I should point out that this is a
feature of Racket, not programming languages in general. In many other
Hello,
I noticed that Racket detects the variables used without any value.
But let us consider the expression:
(or #t Gor)
Since "or" evaluates as few arguments as possible, the result is #t,
but this expression is rejected by Racket because "Gor" is unbound. So
the rule would become:
Hi Jean-Michel: the determination that "Gor" is a free variable
happens as part of the compilation of the program, much in the same
way that this expression:
(or #t (lambda x))
is rejected.
Robby
On Fri, Oct 21, 2016 at 9:12 AM, Jean-Michel HUFFLEN
wrote:
>Dear
Dear Racket users,
I noticed that Racket detects the variables used without any
value. But let us consider the expression:
(or #t Gor)
Since "or" evaluates as few arguments as possible, the result is
#t, but this expression is rejected by Racket because "Gor" is
unbound. So the
5 matches
Mail list logo