Home
Dec. 2009
Dear Sirs and Madams;
With its excellent descriptiveness, the Ruby language attracts many programmers, especially in the Web application construction area. However, the specification of Ruby language has not been standardized yet.
For wider and more application of Ruby language, "Ruby Standardization Working Group" has been established under Information-technology Promotion Agency, Japan (IPA) to define the specification of Ruby language on Oct. 2008. Since then the WG has been drafting the specification of Ruby language.
As the first draft of Ruby language specification has just recently completed, we'd like to request users and developers of Ruby communities to review it.
By gathering review comments widely from you, we are going to improve the draft of Ruby language specification further. Then we will propose the improved draft to Japanese Industrial Standards Committee (JISC) to be JIS. After JIS for Ruby has been published, we will propose it to International Standardization Organization (ISO/IEC JTC1) to be International Standard.
We are looking forward to obtaining many comments from you and to having active discussion among you and ourselves.
Please send comments by January 12, 2010. We'd like to reflect them in the draft specification as much as possible before applying standardization process.
IPA Ruby Standardization WG
Chairman
Ikuo NAKATA
Drafting Guidelines¶
In drafting the specification, we have set the following guidelines.- Use Ruby 1.8.7 as the primary reference.
- Intend that existing implementations without modification can conform to the specification.
- Keep the specification as compact as possible.
First, we use Ruby 1.8.7 as the primary reference. Ruby 1.8 is widely used now and there are several implementations which implement Ruby 1.8 features only. Also, it seems that Ruby 1.8 continues to be used in the years to come. Some might argue that we should use Ruby 1.9 as the primary reference, but Ruby 1.9 is moving fast and its features change frequently. Once we draft the specification based on Ruby 1.9, the specification and Ruby 1.9 would get quickly out of sync.
Second, we intend that existing implementations such as Ruby 1.8.7, Ruby 1.8.6, Ruby 1.9, JRuby, Rubinius, and IronRuby can conform to the specification without modifying them. There are some features which are not implemented in some of the implementations or are different among the implementations. Those features are excluded from the specification, or described as either "implementation defined" or "implementation dependent."
Finally, we try to keep the specification as compact as possible. But we would not like the specification to be so compact that no useful program can be written. The current draft therefore includes those classes, modules, and methods which are widely used and necessary for basic programming tasks. We will add some of other classes, modules, and mehods which are useful for advanced programming tasks to a revised specification in the future.
Scope¶
The following features are included in the specification:- The syntax and semantics of the language.
- A part of the built-in classes and modules which are necessary for basic programming tasks.
For the complete list of the features, please consult the table of contents of the draft.
Note that not all methods of the above classes and modules are included. We have selected methods which are widely used and necessary for basic programming tasks as mandatory methods of the specification, but our choice may be biased. We welcome suggestions for additions or exclusions of features.
Menu¶
To add a comment, please create an account and click New issue .
Please write comments in English.
This site is provided by the Network Applied Communication Laboratory, to which IPA has entrusted the drafting of the specification.
Latest projects
-
Ruby Draft Specification (11/27/2009 02:25 PM)
- Download the draft Ruby specification