From: "trans. (T. Onoma)" Date: 2004-10-10T23:01:19+09:00 Subject: Re: ANN: Free-form-operators patch On Sunday 10 October 2004 05:48 am, Brian Candler wrote: | On Sun, Oct 10, 2004 at 04:19:30AM +0900, Charles Hixson wrote: | > Similarly, if user defineable operators become a part of the language, | > nobody will be required to use them. | | I'll just chime in once, to say I support Hal's view, which he expressed | very eloquently. | | I realise that I am treading on somewhat dangerous water here, in that I | have been involved in other threads on things like method call versus block | call semantics. I'm not saying the language cannot be improved, and I'm | equally sure a lot of user input and suggestions over the last ten or | eleven years have helped make 1.8.x as good as it is. | | However, ISTM that what's being described here is a substantially different | language to Ruby. Sure, there is some intellectual satisfaction in the | exercise; you can continue down this route making the language somehow more | 'flexible' or 'pure' or 'minimalist' or whatever - like removing instance | variables altogether and replacing them with closures. It would be | interesting to see what the smallest subset of Ruby is that can bootstrap | up to the full feature set. Maybe it would end up looking like Lisp (or | Eiffel, Smalltalk, Haskell or many other languages mentioned here as | comparatives before which I don't know or use) | | However, Matz has been doing the language-design exercise for more than 10 | years, and most of us are very happy with what he's produced. This idea has | probably been floated and considered in the past. If it's not in the | language, probably it doesn't fit his overall world view of what the | language should look like. Draw your own conclusions from his silence on | this thread, and on the likelihood of this feature ever making it into the | core. | | > If it doesn't do anything important, it will be | > forgotten. | | If it doesn't do anything important, then it shouldn't have been added in | the first place. ISTM that user-defined operators are nothing more than | syntactic sugar, which Ruby has plenty of already, and add nothing that | can't be done with a handful more keystrokes. I'd rather see discussion on | language semantics, which can make life substantially easier or harder when | programming. | | > If it does, then those who find it important will learn how | > to use that feature. And if someone wants to use two mutually | > incompatible dialects, then they will need to come up with a way to | > harmonize them. | | Or just use a different language in the first place, which is more suitable | to their particular problem domain. | | Ruby matches the problem domains that I deal with very nicely at the | moment. | | > It shouldn't, and doesn't have to be, an all or nothing kind of thing. | > It should be a"Use however much you want, and don't complain bitterly if | > you cut your finger on the bleeding edge. You were warned." kind of | > thing. Naturally exotic features will have less support. | | The original comment I wrote at this point was: | | "Personally I see Ruby as a stable platform to do real work on, not an | experimental platform for wannabe language designers." | | But then I realised it sounded bitchy as hell. No offence is intended to | anyone, so please substitute a less inflammatory statement of your | choosing. | | Regards, | | Brian. Know what noise is? Another word for static. Know what static is? Something that never changes. You know what something that never changes is? D E A D Honestly I sick and tired reading emails about how it is bad bad bad to talk about changes to Ruby. Anyone remember this? | At Tue, 1 Apr 2003 13:08:42 +0900, | Austin Ziegler wrote: | > Now, rb_iv_set/rb_iv_get aren't visible from the Ruby side | > (apparently), but they are visible from the C side. Are there good | > reasons to not allow this, or can we modify it so that iv_get and | > iv_set (or better names for them) are available as private methods to | > go along with instance_variables? | | Kernel#instance_variable_get and #instance_variable_set are | added in 1.8. | | -- | Nobu Nakada It's not like matz and the other developers aren't interested and listenting. If they weren't why would they _ever_ talk to the community about this stuff? matz is quiet b/c his postion requires that he be very conservative. That doesn't mean the rest of us shouldn't pursue our dreams. Every once in a while one of those "gets out of the park", and ends up making Ruby better. Brian, I'm a bit surprised at this given our conversation on Range class. Hal, I'm not surprised at all. Seems like you bring this up every time a Ruby suggestion thread (with which you don't agree with, of course) gets any significant feedback. Even so, I'm a nice guy. I feel for you. But you can't say I haven't tried --I've pushed for a separate mailing list for this stuff for, lord knows, how long now? T.