On 5/25/07, Thomas Lord <[EMAIL PROTECTED]> wrote: > There's nothing especially new about the proposals.
Nope. And that's part of the problem. Both FEXPRs and first-class environments make it extremely difficult to reason about the behavior of a program. With FEXPRs, you simply cannot tell whether any particular instance of a function call is going to be a special form or not. It might be applicative order this time, normal order next time. Every year or two someone tries to re-introduce fexprs. People point out the problems and the person ignores them and tries anyway. He comes back a month or so later and says ``Well, I got them working, but I can't figure out how to compile...'' I was much more gung-ho on first-class environments, but Chris Hanson changed my mind. If an environment is first-class, then it becomes impossible to tell where a symbol is bound. It also becomes impossible to compile anything because you are exposing the implementation of closures. The things you can do with first-class environments can be done in other ways more efficiently and more clearly. Finally, prototype-based object systems make good toys, but not good systems. I was a fan of Object-Lisp (Drescher) for a while, but it had some horrendous problems: The primary one is severe brittleness due to the `fragile base class' problem. This isn't an issue when you have a little object system that you have full control over. It is a huge issue when you have many developers manipulating objects and you want to do something like persist the objects. I tried porting Object Lisp to MIT Scheme and using first-class environments to represent the object bindings. It was a disaster (I managed to get the microcode confused enough to crash). After much discussion with Hanson and Rozas I came to the conclusion that this path was seductive, but unpromising. There may not be much in this note that merits reply either. I'm just pointing out that it's been tried before (several times), found wanting (several times), and discarded (several times), for at least the past 20 years and that a lot of *very* smart people have been unable to make much headway. It's possible that these people are wrong, and that you have a breakthrough method, but based on past evidence I wouldn't put the entire Scheme community down this path. -- ~jrm _______________________________________________ r6rs-discuss mailing list email@example.com http://lists.r6rs.org/cgi-bin/mailman/listinfo/r6rs-discuss