Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Fetching contributors…

Cannot retrieve contributors at this time

130 lines (116 sloc) 4.401 kb
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.
* a +1 to be a+1, not a(+1).
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.
* warn for inconsistent local variable usage (lv m and method m at the same time).
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).
* 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
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
Jump to Line
Something went wrong with that request. Please try again.