From: Jos Koot (jos.koot at telefonica.net) Date: Fri Jun 4 12:24:10 EDT 2010 |
|
I just learned that in #lang racket version 5.0.0.1 symbol 'apply' is syntactically bound. In an uncorrupted base-namespace it has no variable binding. See http://bugs.racket-lang.org/query/?cmd=view&pr=10959 Jos > -----Original Message----- > From: carl.eastlund at gmail.com [mailto:carl.eastlund at gmail.com] On Behalf > Of Carl Eastlund > Sent: 04 June 2010 18:14 > To: Jos Koot > Cc: Matthew Flatt; plt-scheme at list.cs.brown.edu > Subject: Re: [plt-scheme] apply syntactically bound (was RE: [plt-bug] > all/10959: namespace-variable-valuecannot find 'apply' in base-namespace) > > On Fri, Jun 4, 2010 at 11:58 AM, Jos Koot <jos.koot at telefonica.net> wrote: > > Strange: > > > > > > > > #lang racket ; version 5.0.0.1 > > > > (define x '(1 2 3)) > > > > (apply apply list (list x)) ; -> (1 2 3) > > > > > > > > where apply seems to accept the syntactically bound keyword apply, > although > > the docs say that apply should have the value of a procedure. This > confuses > > me. > > > > Thanks, Jos > > Jos, apply is a procedure, not a macro, so there is no problem with > passing it to itself. > > --Carl