From: Jos Koot (jos.koot at telefonica.net) Date: Fri Jun 4 12:36:28 EDT 2010 |
|
That may very well be the case. 'apply' in the operator position of an expression like (apply bla bla bla ...) being expanded as by a transformer and in other positions being expanded to something that evaluates to a procedure. If this is the case, I think this should be added to the docs. Thanks, 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:28 > 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) > > Okay, it might be a macro, but it can still be an identifier macro > that always expands into a value, even when not used in application > position. That is, for instance, how every contracted module export > works. > > Carl Eastlund > > On Fri, Jun 4, 2010 at 12:24 PM, Jos Koot <jos.koot at telefonica.net> wrote: > > 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