From: Ryan Davis Date: 2007-07-18T01:38:51+09:00 Subject: Re: Proposal: runtime-modifying Kernel methods should be keywords On Jul 13, 2007, at 14:52 , Charles Oliver Nutter wrote: > Ryan Davis wrote: >> We have plenty of opportunities to optimize the language while >> maintaining all dynamic aspects that we've grown to love (some of >> us, pre-ruby). I point to smalltalk, self, Ungar's SOAR thesis, >> dick gabriel's lisp thesis, many articles on ACM via SigPLAN, >> aspects of java's hotspot (which is redundant given self, SOAR, >> and others) and I'm sure many other sources as counter-examples. > > The languages you list either use keywords or expose runtime > structures (like variable scopes, call frames, and bindings) as > first-class entities in the system. Ruby does neither. None of the languages I list use keywords (at least, as we're using the word here) and exposed runtime structures has what to do with this? Whether you expose the runtime structures or not is independent of how you optimize the language. YARV isn't exposing anything more than MRI does AFAIK, while rubinius is. Both can have the same level of optimization (with different levels of ease of implementation. imo, rubinius is going the easier/cleaner route just by using a better language). Hotspot seems to do just fine without exposing runtime structure as well, as do various implementations of lisp/scheme (some are still implemented in straight C), self (which isn't written in itself-- yet), and most of the smalltalks (the commercial ones usually still have a C core). Implementation details are orthogonal to language specification. Am I missing your point or is this really a strawman argument? > And hotspot evolved out of self and strongtalk, so I'm not sure I > understand that logic. Yes, it did. Mostly from self as I understand Ungar's background (minor fanboy here). My point was that various aspects of hotspot (the ones that came from self) do plenty for optimization in a completely dynamic way.