Re: [racket-users] Better? or less good?

2016-10-21 Thread Matthew Butterick
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)

Re: [racket-users] Better? or less good?

2016-10-21 Thread David Christiansen
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

Re: [racket-users] Better? or less good?

2016-10-21 Thread David Raymond Christiansen
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:

Re: [racket-users] Better? or less good?

2016-10-21 Thread Robby Findler
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

[racket-users] Better? or less good?

2016-10-21 Thread Jean-Michel HUFFLEN
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