mirror of
				https://github.com/ruby/ruby.git
				synced 2022-11-09 12:17:21 -05:00 
			
		
		
		
	 13230a3417
			
		
	
	
		13230a3417
		
	
	
	
	
		
			
			* numeric.c (num_step): better error treatment of float values. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3769 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
		
			
				
	
	
		
			126 lines
		
	
	
	
		
			4.8 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
			
		
		
	
	
			126 lines
		
	
	
	
		
			4.8 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
| Language Spec.
 | |
| 
 | |
| - Class#allocate - basicNew
 | |
| - class Foo::Bar<Baz .. end, module Boo::Bar .. end
 | |
| * 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
 | |
| * 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 whether 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
 | |
| * jar like combined library package. -> RubyGems?
 | |
| * resumable Exception via Exception#resume.
 | |
| * 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()"
 | |
| * clarify evaluation order of operator argument (=~, .., ...)
 | |
| * :symbol => value hash in the form of {symbol: value, ...} ??
 | |
| 
 | |
| 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
 |