Hi Andy, Andy Wingo wrote:
> Do you see now why local-eval can't possibly work in the presence of > efficient compilation? Scheme does not give you the particular kind of > dynamism that you want. There is no hash table lurking inside a closure. Why not compile most closures away, but leave those that are necessary for the sort of semantics Maciek wants to work? Maciek more or less wants to reify environments (it seems), and have those be semantically the same as the variable lookup mechanism inside closures. It is certainly true that most continuations are not reified, many are compiled away, but it is still possible to reify exactly the ones that are needed and no others. Is it impossible for program analysis to reveal which environments need to be reified? If necessary, one could even require some sort of explicit tag on lambdas to say "This one gets reified." Of course, #scheme is probably a good place to discuss this sort of thing, but I can't really hold my own once a really technical discussion gets started there... Whether that's because I lack the expertise (likely) or because certain personalities are perhaps overly dominating (also likely), I don't know. Regards, Jon