[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: problems with with-syntax



Shriram Krishnamurthi writes:
 > Hey Doug:
 > 
 > > Rats, I keep forgetting Scheme isn't a dynamic language...
 > 
 > >From this, I'm forced to infer that your definition of "dynamic
 > language" is "one that has a screwed-up notion of scope".  (Well, I
 > guess this would be consistent with everything we heard at LL1 ...)
 > 
 > We had the kind of scoping you seem to call "dynamic" in older
 > versions of PLT Scheme (and, indeed, in Lisps since time immemorial).
 > I'd say the problems it introduces far outweight its benefits.

Well, I wasn't necessarily commenting on this particular scoping issue,
just the general idea that there are restrictions on Scheme programs
to make static analysis easier (the part you left out of your paste
was my quoting Matthew saying that the split environment was to make
it easier for compilers and syntax checkers to figure things out).  I
realize that it's a tradeoff, and that static analysis is important in
the Real World, but I'm just used to lexical scoping being pretty
straightforward, and not thinking too hard about definition-time
versus run-time.  (Of course I should have figured I wouldn't get far
with that attitude when I started wanting to break hygiene with
syntax-case.)

Would it be reasonable to think of the transformer environment being
roughly analogous to the meta-level?  Then it becomes a little more
clear that I can't (or shouldn't) call base-level functions in
meta-level code.

 > (I'll let Matthew comment on whether he wants to support
 > DEFINE-FOR-SYNTAX, but just note that it violates cut-and-pastability.)

You lost me-- what's no longer cut-and-pasteable?

--dougo@ccs.neu.edu