Language Spec. * operator !! for rescue. ??? * objectify characters * ../... outside condition invokes operator method too. * ... inside condition turns off just before right condition.??? * package or access control for global variables?? * named arguments like foo(nation:="german") or foo(nation: "german"). * method to retrieve argument information (needs new C API) * multiple return values, yield values. maybe incompatible ??? * cascading method invocation ??? * def Class#method .. end ?? * class Foo::Bar<Baz .. end, module Boo::Bar .. end * def Foo::Bar::baz() .. end ?? * I18N (or M17N) script/string/regexp * Fixnum 0 as false ???? * discourage use of symbol variables (e.g. $/, etc.) in manual * discourage use of Perlish features by giving warnings. * non confusing in-block local variable (is it possible?) + remove scope by block + variables appears within block may have independent values. * Regexp: make /o thread safe. * decide if begin with rescue or ensure make do..while loop. * a +1 to be a+1, not a(+1). * unify == and eql? again * to_i returns nil if str contains no digit. * raise exception by `` error Hacking Interpreter - generational GC * non-blocking open (e.g. for named pipe) for thread * avoid blocking with gethostbyname/gethostbyaddr (use fork ???) * objectify interpreters ??? * remove rb_eval() recursions * syntax tree -> bytecode ??? * scrambled script, or script filter * setuid ruby * performance tune for in-block (dynamic) local variables. * give warnings to assign magic variables. * export rb_io_{addstr,printf,puts,print} * autoload should work with threads [ruby-talk:4589] * remove stdio dependency from IOs. * warn for inconsistent local variable usage (lv m and method m at the same time). * MicroRuby * Built-in Interactive Ruby. Standard Libraries - Module#define_method which takes a name and a body (block, proc or method). - Enume#inject * Enumerable#sort_by for Schwartzian transformation * String#scanf(?) * Object#fmt(?) * Integer#{bin,oct,hex,heX} * Time::strptime * Integer[num], Float[num]; Fixnum[num]? * method to retrieve non-number trailer for to_i/to_f. * Stream or Port, abstract superclass of IO ? * String#{pred,prev}, String#downto * optional stepsize argument for succ() * Ruby module -- Ruby::Version, Ruby::Interpreter * introduce Boolean class; super of TrueClass, FalseClass * Process::waitall [ruby-talk:4557] * synchronized method - synchronized{...}, synchronized :foo, :bar * move Time::times to Process. * IO#for_fd in general * Array#&, Array#| to allow duplication. ??? * fork_and_kill_other_threads. * way to specify immortal (fork endurance) thread; * or raise ForkException to every thread but fork caller. * Array#fetch * Hash::new{default} or recommend Hash#fetch? Extension Libraries * ptk.rb pTk wrapper that is compatible to tk.rb * Berkeley DB extension * BitVector Ruby Libraries * add uri.rb * urllib.rb, nttplib.rb, etc. * format like perl's Tools * freeze or undump to bundle everything Misc - publish Ruby books - publish Ruby books in English