[#51213] [ruby-trunk - Bug #7645][Open] BigDecimal#== slow when compared to true/false — "mathie (Graeme Mathieson)" <mathie@...>

11 messages 2013/01/01

[#51328] [ruby-trunk - Bug #7676][Open] Comparison of Float::NAN in array behaves unexpectedly — "simonrussell (Simon Russell)" <spam+ruby@...>

11 messages 2013/01/09

[#51347] [ruby-trunk - Bug #7679][Open] IRB history is broken — "zzak (Zachary Scott)" <zachary@...>

15 messages 2013/01/10

[#51389] [ruby-trunk - Bug #7688][Open] Error hiding with rb_rescue() on Comparable#==, #coerce and others — "Eregon (Benoit Daloze)" <redmine@...>

34 messages 2013/01/11

[#51430] [ruby-trunk - Bug #7696][Open] Lazy enumerators with state can't be rewound — "marcandre (Marc-Andre Lafortune)" <ruby-core@...>

15 messages 2013/01/14

[#51437] [ruby-trunk - Bug #7698][Open] RubyGems 2.0 has an incompatibility about installation of extension libraries — "mrkn (Kenta Murata)" <muraken@...>

21 messages 2013/01/15

[#51454] [CommonRuby - Feature #7701][Open] Non-optional (required) keyword args — "headius (Charles Nutter)" <headius@...>

31 messages 2013/01/15

[#51499] [ruby-trunk - Feature #7712][Open] Add .txt extensions to all plain-text documentation files for Windows users — "postmodern (Hal Brodigan)" <postmodern.mod3@...>

9 messages 2013/01/18

[#51619] [ruby-trunk - Feature #7738][Open] Deprecate Set#+ as an alias of Set#|, use it for symmetric difference. Introduce Hash#| for Hash#reverse_merge in Rails. — "alexeymuranov (Alexey Muranov)" <redmine@...>

11 messages 2013/01/24

[#51623] [ruby-trunk - Feature #7739][Open] Define Hash#| as Hash#reverse_merge in Rails — "alexeymuranov (Alexey Muranov)" <redmine@...>

24 messages 2013/01/24

[#51714] [CommonRuby - Feature #7747][Open] Expanded API for Binding semantics — "jballanc (Joshua Ballanco)" <jballanc@...>

19 messages 2013/01/27

[#51742] [ruby-trunk - Bug #7756][Open] clang 3.2 sees through UNINITIALIZED_VAR macro, gives warning — "drbrain (Eric Hodel)" <drbrain@...7.net>

10 messages 2013/01/29

[#51763] [ruby-trunk - Bug #7758][Open] Ruby on Windows crashes when active codepage is codepage 65001 and outputting unicode character — "joshc (Josh C)" <josh.nw@...>

16 messages 2013/01/30

[ruby-core:51238] Re: [CommonRuby - Feature #7549] A Ruby Design Process

From: "Martin J. Dürst" <duerst@...>
Date: 2013-01-04 07:40:13 UTC
List: ruby-core #51238
Hello Brian,

On 2013/01/01 6:33, brixen (Brian Ford) wrote:
>
> Issue #7549 has been updated by brixen (Brian Ford).
>
>
> I've written another post addressing many of the misunderstandings about my proposal expressed in this thread:
>
> http://brixen.io/2012/12/30/a-ruby-design-process-talking-points

This says:

 >>>>
The proposed design process attempts to reduce as much as possible the 
need for all implementers to discuss proposed language features. The 
discussion occurs after clear documentation is written, after precise 
RubySpecs are written, and after everyone implements the feature so that 
it passes RubySpec. The discussions then focus on concrete facts about 
the impact of the proposed feature to existing and future code, whether 
it is in libraries, frameworks, or applications.
 >>>>

This is the part of your proposal that I understand least (there are 
other parts that I disagree quite strongly with, but at least I think I 
understand why you proposed them).

What's the point of discussion if all implementations have already 
implemented the feature? Discussion makes much more sense to me in the 
early stages of some idea. Often somebody has an idea, but it's not 
complete. There are many cases of feature proposals in redmine that 
don't give all the details because the proposer hasn't figured out all 
of them. But nevertheless, many of these proposals (of course not all) 
have a lot of merit. One very clear category is where Matz has already 
agreed with everything except that we are still missing a really good name.



Creating and evolving a programming language is a creative process. Such 
a creative process is messy and takes time. Putting it in a process 
straightjacket doesn't help.

This creative process is also where Matz is way ahead of everybody else. 
He has been working on it for 20 years, and the results so far have been 
to everybodys liking.

Giving every Ruby implementation the same weight of opinion may be 
appropriate when it comes to implementability questions. Every serious 
Ruby implementation has an established track record on implemenatability 
issues. But when it comes to language design issues, nobody can in any 
way match Matz's track record on language design.



At the end of your post, you write:


 > The proposed design process seeks to create these three things:
 > 1. A definition of the Ruby language that is independent of any
 > particular implementation of Ruby.

That wouldn't be a bad thing to have.

 > 2. A definition of Ruby that is explicit and verifiable by running
 > RubySpec.

I think you also know that executable specs/tests are never able to 
verify/prove that an implementation is correct/conformant. So this is 
just impossible, unfortunately.

 > 3. A process of deciding what features are in the Ruby language that
 > is fair to all implementations of Ruby.

See above for this point. Fairness to implementations is appropriate for 
implementability concerns (see e.g. the recent feedback from Charles 
Nutter on implementation problems with refinements, which resulted in 
quite some changes). Fairness to implementations isn't very relevant 
when it comes to general language design issues.


Regards,    Martin.

In This Thread