`match' also currently adds a syntax property to help the Typed Racket
type checker understand the expansion.  Like 'disappeared-use for
Check Syntax, this property is in theory semantically independent of
Typed Racket, but only used there.  And I agree with Robby that I
think this is a good architecture.

On Sat, Aug 13, 2011 at 11:33 AM, Robby Findler
<ro...@eecs.northwestern.edu> wrote:
> FWIW, there is precedent for this kind of thing, namely the properties
> that get added to syntax objects to tell check syntax about bindings
> that aren't in the fully expanded program (and yeah, I know there is a
> pending question about this; sorry I haven't had time to look into it
> and straighten things out).
>
> Syntax properties generally seem like a good vehicle for
> languages/macros to communicate information to tools.
>
> Robby
>
> On Sat, Aug 13, 2011 at 10:22 AM, Matthias Felleisen
> <matth...@ccs.neu.edu> wrote:
>>
>> On Aug 13, 2011, at 10:44 AM, John Clements wrote:
>>
>>> That is, the code for lazy racket contains the knowledge about which things 
>>> should be hidden by the stepper.  I would argue, in fact, that this is the 
>>> *right* place for such knowledge. In particular, suppose you're developing 
>>> the lazy stepper, and you want to say, "this thing here is hidden." How do 
>>> you point to a particular expansion? You want to make an annotation in the 
>>> code for the expansion itself.  The alternatives I can think of are all 
>>> hideously fragile, unless you go to some AOSD approach, but I think that 
>>> this would wind up being even more verbose, and not substantially less 
>>> fragile.
>>>
>>> That is, I think that the "subtle problem" above is not actually a problem 
>>> at all.
>>
>>
>> Let me try to say what I understand out loud:
>>
>> 1. The existence of Stepper knowledge in the Lazy compiler creates a 
>> 'spiritual' dependency between the Lazy language and a tool in DrRacket (= 
>> Tool world). QUESTION: does this knowledge ever make sense outside of our 
>> tool suite? Could it be reused by a stack-tracing debuggger in a textual 
>> repl?
>>
>> 2. At the same time, this Tool knowledge is best injected into compilation 
>> just in case we want it. QUESTION: does some knowledge about Lazy 
>> compilation move into the Stepper if we don't inject the knowledge here?
>>
>> 3. I agree with John though I am actually hopeful that we can come up with a 
>> software architecture that eliminates the problem and isn't AOSD all the 
>> way. Is it possible to view this knowledge as a mixin that gets added to the 
>> Lazy compiler when the language lives in the Tool world?
>>
>> -- Matthias
>>
>>
>> _________________________________________________
>>  For list-related administrative tasks:
>>  http://lists.racket-lang.org/listinfo/dev
>>
>
> _________________________________________________
>  For list-related administrative tasks:
>  http://lists.racket-lang.org/listinfo/dev



-- 
sam th
sa...@ccs.neu.edu

_________________________________________________
  For list-related administrative tasks:
  http://lists.racket-lang.org/listinfo/dev

Reply via email to