Re: [racket-dev] Adding alpha to color%

2010-11-24 Thread Noel Welsh
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)

2010-11-24 Thread John Clements
(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

2010-11-24 Thread Matthias Felleisen

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