|
ruby-dev summary 17875-17964: msg#01129lang.ruby.general
There was a lot of discussions in ruby-dev this week. This is a summary of those. ---- ruby-dev #17875-17964 (2002-08-01 ... 2002-08-08) ---- [ruby-dev:17876] cbase in module_eval {...} Koji Arai asked why a script as below raised error(uninitialized constant FOO (NameError)) in 1.7. class Foo FOO = 1 end Foo.module_eval { p FOO } Matz said that it is caused by a change of Ruby specification. He wants to make scope of constants static, but he thinks that current behavior is not best. Any suggestions are welcome. [ruby-dev:17882] nested method, etc Minero Aoki pointed out that * nesting of method def. * alias/undef in method def. * super outside method def. all does not raise an error in parse.y 1.203. Matz said that it is change of Ruby specification. [ruby-dev:17885] Ruby Development Roadmap? TAKAHASHI Masayoshi asked: 1) when is Ruby 1.8 released ? 2) what is new and changed in Ruby 1.8 ? 3) when is Ruby 1.6.8 released ? 4) when is M17N-Ruby merged in(?) 5) when is keyword arguments introduced in? Matz replied: 1) When known bugs are solved. Maybe after Matz's summer vacation? 2) Major changes are already introduced in HEAD branch. 3) In this autumn(for RubyConf 2002)? 4) Maybe in 1.9.0. 5) In Ruby 2.0, because it changes many points including C API. [ruby-dev:17907] Re: Ruby Development Roadmap? Matz announced Ruby M17N framework would be changed. Specification: * str[n] returns strings whose length is 1. * Notation '?A' is obsoleted. * Encoding conversion framework for strings is introduced. * Encoding conversion framework for IO is introduced. Implementation: * Delete ismblen(). Supports UTF-16 and GB18030. * Delete m17n_islead() and m17n_firstbyte() (the same reason) K.Kosako proposed a method which goes back nth character. m17n_back(enc, start, p, n) Matz agreed such method is in need anyway. [ruby-dev:17887] next parser Minero Aoki asked Matz how to implement Ruby 2.0 parser. Matz answered he thought two options. * write new recursive descent parser for Ruby it makes parser more flexible, but Ruby's syntax is too complex to implement in this way? * use yacc Minero proposed to use original (modified) byacc or bison: * GC-safe * make yyparse re-entrant * write action with table of pointer of functions But Matz negatively replied that modifying yacc and distributing it with Ruby is too hard. Minero may implement such kind of parser in ripper 1.0. [ruby-dev:17954] Selection IPv4/IPv6 at TCPSocket NISHI Takao proposed new TCPSocket#new/TCPServer#new interface. TCPSocket#new(host, service [,ai_family=Socket::PF_UNSPEC]) TCPServer#new([host=localhost,] service [,ai_family=Socket::PF_UNSPEC]) A patch for Ruby 1.6.7(2002-03-01) is available in http://www.koka-in.org/%7Ezophos/lib/ruby-1.6.7-ipsocket_select_ai_family.patch Merit: * make no influence on Ruby code * configurable IPv4/IPv6/UNSPEC by instance. Demerit: * make TCPServer's arguments a bit complex * In Linux(USAGI), configuration of ai_family of TCPServer is not used without CONFIG_IPV6_DOUBLE_BIND(kernel option) and IPV6_V6ONLY(socket option). TAKAHASHI 'Maki' Masayoshi E-mail: maki@xxxxxxxxxxxxx
|
|
| <Prev in Thread] | Current Thread | [Next in Thread> |
|---|---|---|
| Previous by Date: | Re: Handling forms on database driven websites, Dave Thomas |
|---|---|
| Next by Date: | Re: Unicode in Ruby now?, Bret Jolly |
| Previous by Thread: | non-greedy regexp, Tom Robinson |
| Next by Thread: | Re: ruby-dev summary 17875-17964, Mauricio Fernández |
| Indexes: | [Date] [Thread] [Top] [All Lists] |
| News | FAQ | advertise |