From: Nick Sieger Date: 2007-07-17T07:23:09+09:00 Subject: Re: Proposal: runtime-modifying Kernel methods should be keywords ------=_Part_52119_25334567.1184624588059 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Content-Disposition: inline On 7/13/07, Charles Oliver Nutter wrote: > > Ryan Davis wrote: > > > > On Jul 12, 2007, at 23:18 , Marcel Molina Jr. wrote: > > > >> *my* interests and priorities would respond to that problem by > >> wanting to consider how those internals [be] instead be *exposed*. > > > > I second this. > > > > I'll go further and state that I don't think there is any reason for > > keywords (read: reserved word with fixed static connotations). > > > > 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. So why not take this argument the other way and work towards defining those runtime structures in Ruby? Increasing the number of keywords in the language is about as big a change, and seems to be more detrimental to the philosophy of Ruby because it creates more exception cases. We can't come up with ways that these methods would be overridden today, but who can predict the future? /Nick ------=_Part_52119_25334567.1184624588059 Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Content-Disposition: inline On 7/13/07, Charles Oliver Nutter <charles.nutter@sun.com> wrote:
Ryan Davis wrote:
>
> On Jul 12, 2007, at 23:18 , Marcel Molina Jr. wrote:
>
>> *my* interests and priorities would respond to that problem by
>> wanting to consider how those internals [be] instead be *exposed*.
>
> I second this.
>
> I'll go further and state that I don't think there is any reason for
> keywords (read: reserved word with fixed static connotations).
>
> 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.

So why not take this argument the other way and work towards defining those runtime structures in Ruby?  Increasing the number of keywords in the language is about as big a change, and seems to be more detrimental to the philosophy of Ruby because it creates more exception cases.  We can't come up with ways that these methods would be overridden today, but who can predict the future?

/Nick

------=_Part_52119_25334567.1184624588059--