`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