diff options
Diffstat (limited to 'ToDo')
| -rw-r--r-- | ToDo | 121 |
1 files changed, 0 insertions, 121 deletions
@@ -1,121 +0,0 @@ -Language Spec. - -- def foo; .. rescue .. end -- compile time string concatenation, "hello" "world" => "helloworld" -- rescue modifier; a rescue b => begin a rescue; b end -- %w(a\ b\ c abc) => ["a b c", "abc"] -- objectify symbols -- class variable (prefix @@) -- rescue RuntimeError => err -* 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 variable (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. - -Hacking Interpreter - -- use eban's fnmatch -- RUBYOPT environment variable -- alias $defout $> -- retrieve STACK_LEVEL_MAX from users' limit. -- remove end_proc registered out of require only -- all object made freezable -* 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. -* generational GC -* 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. - -Standard Libraries - -- hash[key] = nil does not remove entry; hashes may have nil as the value. -- hash.fetch(key) raises exception if key is not found. -- Array#{first,last,at} -- Dir.glob(pat){|f|...} -- sprintf/printf's $ to specify argument order -- Dir.glob("**/*.c") ala zsh -- Remove Enumerable#{size,length} -- Array#slice, Array#slice! -- String#slice, String#slice! -- Marshal should handle generic instance variables. -- debugger for thread programming -- SyntaxError, NameError, LoadError and NotImplementedError are subclasses of - ScriptError<Exception, not StandardError. -- Thread::start gives arguments, not a thread object to the block -- regexp: (?>..), \G -- Struct::new([name,]member,...) -- IO#reopen accepts path as well -- Kernel#scan -- call initialize for builtin classes too -- performance tune for String's non-bang methods. -- 'w' template for pack/unpack -- alternative for interator? => block_given? -- regex - /p (made obsolete), /m (new) -- consistent /, %, divmod -- unbound method object -- integrate final.rb into the core. -* 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. -* Module#define_method which takes a name and a body (block, proc or method). - -Extension Libraries - -- FastCGI ruby -* ptk.rb pTk wrapper that is compatible to tk.rb -* Berkeley DB extension -* BitVector - -Ruby Libraries - -- net/http.rb -* add uri.rb -* urllib.rb, nttplib.rb, etc. -* format like perl's - -Tools - -- extension library maker using SWIG -* freeze or undump to bundle everything - -Misc - -- publish Ruby books -- publish Ruby books in English |
