Re: [racket-dev] Adding alpha to color%
Thanks. If I get the time I'll take a crack at it. N. On Wed, Nov 24, 2010 at 5:44 PM, Matthew Flatt mfl...@cs.utah.edu wrote: I would like to add alpha to `color%', but I haven't gotten around to it. _ For list-related administrative tasks: http://lists.racket-lang.org/listinfo/dev
Re: [racket-dev] [racket] Plea for neologism (was: Re: letoverlambda)
(followups trimmed to dev; is that an acceptable strategy?) On Nov 24, 2010, at 12:44 PM, Robby Findler wrote: On Wed, Nov 24, 2010 at 1:49 PM, John Clements cleme...@brinckerhoff.org wrote: On Wed, Nov 24, 2010 at 11:05 AM, Robby Findler ro...@eecs.northwestern.edu wrote: On Wed, Nov 24, 2010 at 12:55 PM, Joe Marshall jmarsh...@alum.mit.edu wrote: On Nov 20, 2010, at 6:58 PM, Matthias Felleisen wrote: Hygiene is a technical term. The idea is roughly that the __macro system__ (as a whole) should respect the lexical structure of your program. It is somewhat unfortunate that the name `hygiene' has caught on here. It really ought to be called `lexical scoping' (with the understanding that macros have no special permission to violate lexical scope any more than lambda bindings do). You know about Oleg's macro called, bind-x-to-5 that has one subexpression does exactly its name claims, but in a hygenic macro system? Hang on... you're still using the term hygienic in the non-Felleisen way. No I'm not. That is, if we accept that a hygienic system is one that has well-defined behavior but where you can bind new names when you explicitly ask to, then #lang racket (define-syntax (bind-x-to-5 stx) (syntax-case stx () [(_ exp) #`(let ([#,(datum-syntax stx 'x) 5]) exp)])) (bind-x-to-5 x) ...is a legal macro in a hygienic macro system. Sure. But Oleg's macro doesn't do that. Right, I understand. Oleg shows that you can bind x even in a macro system that doesn't allow variable capture in the way that I used here; in other words, variable capture is possible even in a system-without-XXX, where XXX refers to the property of being able to do what I did here (straightforward variable capture). IIUC, you use the word hygienic in the paragraph above (when you say but in a hygienic macro system) to mean system-without-XXX, but Matthias' point is that hygienic *doesn't* mean system-without-XXX, it just means system-where-XXX-can-only-occur-deliberately. Naturally, this conversation would be simpler if we had a word for XXX... :) John smime.p7s Description: S/MIME cryptographic signature _ For list-related administrative tasks: http://lists.racket-lang.org/listinfo/dev
Re: [racket-dev] [racket] Plea for neologism
Is A[e_1 e_2] = A[e_1] meta A[e_2] compositional? How about A[e_1 e_2]env = A[e_1]env meta A[e_2]env or A[e_1 e_2]env k = A[e_1]env (\x_1. A[e_2]env (\x_2. k (x_1 meta x_2))) or A[e_1 e_2]env k s = A[e_1]env (\x_1s_1. A[e_2]env (\x_2 s_2. k (x_1 meta x_2) s_?) s_1 etc On Nov 24, 2010, at 1:20 PM, Don Blaheta wrote: How about noncompositional? This word and its opposite have fairly technical linguistic meanings. A compositional phrase (= expression) is one whose meaning can be (correctly) inferred only by knowing the meanings of their parts and the semantic rule associated with the syntax form of the expression. So an expression like a red apple means precisely what you would expect if you knew the meaning of a, red, and apple, and knew how to combine a determinative, an adjective, and a noun into a noun phrase. It's not a perfect match. Single-word anaphor (like it) wouldn't normally be called noncompositional because there's nothing to compose there---the word just has a complex meaning. And in natural language there's no analogue at all to the more complex things that macros can do. But to the extent that a hygienic macro system tries to make it difficult (or impossible) to write macros that capture values, and a lot of people informally use the term unhygienic macro to refer to macros that hygienic macro systems try to prevent, the core thing that's being prevented is essentially noncompositionality. To turn it around, if I hand you a compositional expression, I also hand you the syntax rule and the values of all evaluable sub-expressions, then you can 100% reliably hand back the value of the overall expression, and this seems to be the core desideratum when people start talking about hygienic macro system. -- -=-Don blaheta-=-dblah...@monm.edu-=-=-http://www.monmsci.net/~dblaheta/-=- The melting pot theory works in some areas in the larger cities. The salad bowl theory works rather well for other towns and cities. But I propose a third theory that covers vast areas of the US. The child's plate theory. In this theory all of the foods are separated into their own groups and if the ketchup touches the green beans all hell breaks loose. --Brian Pyle _ For list-related administrative tasks: http://lists.racket-lang.org/listinfo/users _ For list-related administrative tasks: http://lists.racket-lang.org/listinfo/dev