Dave Thomas wrote: > > I disagree strongly. This is the period where we can actually use 1.9 > for real work--until recently it really wasn't the case. And now, having > used it, we're finding rough edges, and we're suggesting changes. Requesting a major change to the syntax of a language is not finding a "rough edge". And I don't believe that any of the arguments against the -> syntax are informed by experience gained from "real work" with 1.9. These same arguments could have been made two years ago. (And I suspect they were made back then. Matz knew that -> was unpopular before 1.9.0 was released, but he kept the syntax anyway.) > Look at the length of this thread, and the near universal dislike of ->. The thread (and the recent ones like it) are long, but the number of contributors isn't that large. What other evidence of "near universal dislike" can you cite? (I'm not trying to be argumentative about that: I'm just curious about the point. I know it is disliked by a number of important and vocal contributors to this list. Do we have any other metrics?) > Given that passion, and given that 1.9 is still fluid, what better time > is there to discuss it? Surely making it a part of 1.9.1, which is > considered stable, will make it a lot _harder_ to discuss and change, > and will give Matz far more grief in terms of change. Matz's standard for language changes after 1.9.0 was something like (I'm paraphrasing here) "only if we come to really regret the decision". The justification for -> was that it was necessary for argument defaults. I (and I assume most of us) accepted it as received wisdom from Matz, Nobu, etc., that it was impossible to implement default arguments with normal lambda syntax. If Eric Mahurin has truly achieved the impossible with his remarkably simple argument defaults patch, then I suppose that that might cause Matz to reach the "serious regret" threshold and withdraw -> from 1.9. But even if that happens, any discussion of alternative syntaxes should really be part of the discussion of Ruby 2.0, not of Ruby 1.9.1. But unless Eric's patch changes something, the decision about -> has been made, and we need to move on. I believe that Matz has interesting features planned for 2.0. Let's look forward to discussing those rather than complaining, after the fact, about decisions that have already been made for 1.9. Major kudos to Eric, by the way, for diving in and tackling the problem rather than just complaining about it. Most of the discussion of -> occurred before Eric's patch, however, and that discussion was (in my opinion) inappropriate and disrespectful. > 1.9 was released to promote discussion. That's what we're doing. We can > both update our books as needed when the dust settles :) > Sorry Dave, but that is nonsense. 1.9.0 is not a "discussion release". It is an almost-final developer preview release that requires bug-fixing and stability improvements before a stable 1.9.1 is released. The time for discussion of the language features of 1.9 was the two or three years before Christmas 2007. Now is the time for implementation fixes, not major language changes. Here is my understanding of the Ruby 1.9 release history upon which I base my assertions: the 1.9 development branch opened up years ago. It was originally intended to lead to a stable 2.0 release. Then Matz scaled back his plans for the release and decided that the next release would not be 2.0. Not wanting to have to call the release 1.10, he decided that the 1.9 development branch would lead to a stable 1.9.1 release. Matz set a release date of Christmas 2007 for this stable release. Two or three months (if I recall correctly) before that date, it became clear to Matz that the implementation of his multi-lingual support would not be good enough by then to be called stable. Rather than changing the release date, he released 1.9.0 instead of 1.9.1. My point is this: up until the fall of 2007, we all believed that a stable 1.9.1 was to be released very soon. Had the multi-lingual changes proved easier to implement, that is what would have happened. There was never a plan for an interim "discussion release". If you thought you could postpone discussion of key language features of 1.9 until after the Christmas release, then you just weren't paying attention. David Flanagan > > Dave > >