diff options
author | naruse <naruse@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2011-08-02 12:19:27 +0000 |
---|---|---|
committer | naruse <naruse@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2011-08-02 12:19:27 +0000 |
commit | 2cf05e587951f189db69278f7ee3a8ba4b8d64fe (patch) | |
tree | 9e6c26486b4af7b4841163b60b349f53a4cb5c58 /ToDo | |
parent | 9864da84f6c385265b4c4caeb3cf52787535e270 (diff) | |
download | bundler-2cf05e587951f189db69278f7ee3a8ba4b8d64fe.tar.gz |
Remove an obsolete file, ToDo.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@32814 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'ToDo')
-rw-r--r-- | ToDo | 124 |
1 files changed, 0 insertions, 124 deletions
@@ -1,124 +0,0 @@ -Language Spec. - -- Class#allocate - basicNew -- class Foo::Bar<Baz .. end, module Boo::Bar .. end -- raise exception by `` error -- a +1 to be a+1, not a(+1). -- clarify evaluation order of operator argument (=~, .., ...) -- :symbol => value hash in the form of {symbol: value, ...} ?? -* 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 ?? -* def Foo::Bar::baz() .. end ?? -* I18N (or M17N) script/string/regexp -* 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 whether begin with rescue or ensure make do..while loop. -* unify == and eql? again -* to_i returns nil if str contains no digit. -* jar like combined library package. -> RubyGems? -* method combination, e.g. before, after, around, etc. -* .. or something like defadvice in Emacs. -* property - for methods, or for objects in general. -* "in" modifier, to annotate, or to encourage assertion. -* selector namespace - something like generic-flet in CLOS, to help RubyBehavior -* private instance variable (as in Python?) @_foo in class Foo => @_Foo_foo -* warn/error "bare word" method, like "foo", you should type "foo()" - -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. -* Parser API -* trap every method invocation, which can be enabled by e.g. trap_call :method. -* unify Errno exceptions of same errno, or new exception comparison scheme. -* 2.times{|i| if i==0 then a = 15 else puts eval("a") end} should print nil. -* Thread#max_stack_size attribute (possible??) - -Standard Libraries - -- Module#define_method which takes a name and a body (block, proc or method). -- Enume#inject -- Array#fetch -- IO::for_fd -- Process::waitall [ruby-talk:4557] -- Process::Status -- File::lchown, File::lchmod; xxx - still need work for non existing platforms -- move Time::times to Process. -- Enumerable#sort_by for Schwartzian transformation -- fork_and_kill_other_threads. -- signal list (Signal::trap, Signal::list). -- move NameError under StandardError. -- Integer#to_s(base) -- Hash::new{default} -- hash etc. should handle self referenceing array/hash -- Array#select(n1,n2...) works like Array#indexes(n1,n2...) -- use Mersenne Twister RNG for random. -- deprecate Array#indexes, and Array#indices. -- remove dependency on MAXPATHLEN. -- String#scanf(?) -* Object#fmt(?) -* 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 -* synchronized method - synchronized{...}, synchronized :foo, :bar -* Array#&, Array#| to allow duplication. ??? -* way to specify immortal (fork endurance) thread; -* or raise ForkException to every thread but fork caller. -* new user-defined marshal scheme. _dump(dumper), _load(restorer) -* library to load per-user profile seeking .ruby_profile or ruby.ini file. -* warning framework (warn, warning for Ruby level) -* marshal should not depend on sprintf (works bad with locale). -* ternary arg pow: a.pow(b,c) == a**b%c -* new caller(), e.g. call_stack; needs better name. -* pointer share mechanism similar to one in String for Array. -* require "1.6" etc. by /usr/lib/ruby/1.6/1.6.rb ;-) -* save both "feature names" and "normalized path" in $" -* implement Mutex_m (or MutexMixin) using Mutex. - -Extension Libraries - -* ptk.rb pTk wrapper that is compatible to tk.rb -* Berkeley DB extension -* BitVector -* thread-safe fcgi - -Ruby Libraries - -- urllib.rb, nttplib.rb, etc. -* format like perl's - -Tools - -* freeze or undump to bundle everything -* bundle using zlib |