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

102 lines (83 sloc) 3.433 kb
For 0.5 beta 3:
[ ] HotCocoa
[X] samples should work
[X] should be removed from the repository
[ ] should be gemified on github and pre-bundled with the installers
[X] backtracing information (line numbers) should be accurate
[/] frozen, stable and documented GCD API
[X] non-ASCII regexp
[/] 32-bit should be back
[X] macruby should support #require calls when assembling a binary
[X] change copyright headers for 2010
For 0.5 (must do):
[ ] `macgem build' doesn't seem to work
[ ] Hash subclass for immediates
[ ] honor BridgeSupport printf_format attribute
[/] support for bigdecimal
(implemented but some specs are failing, need to sync with upstream)
[/] support for json
(implemented, do we have specs?)
[/] support for yaml
[ ] pass remaining specs
[/] support for openssl
[ ] finish porting to the new runtime APIs
[ ] check every RSTRING_PTR call to see if they are not f*cking up the data
[ ] pass specs (do we have some?)
[/] support for zlib
[/] support for Mocha (grep -R 'Mocha TODO' test_vm)
[ ] merge stdlib from 1.9.2 trunk
[/] most language/core/library specs should run (modulo a very few exceptions)
[/] port all rb_funcall() calls to rb_vm_call()
[/] port all rb_num_coerce_bin() calls to rb_objc_num_coerce_bin()
[/] port all rb_obj_respond_to() calls to rb_vm_respond_to()
[/] ri should work
[ ] pager problem (apparent bug of IO.popen)
[ ] some annotations are not available (`macri -T Array' misses a lot), maybe
a YAML merging bug
[ ] leaks
[ ] fix exception leak
[/] thread issues
[ ] method cache is not thread safe
[ ] blocks are not reentrant
ex: b=Proc.new{}; 100.times{Thread.new{100.times{b.call}}}; sleep 1
[ ] exceptions not properly handled by the default EH in GCD blocks called
from a different thread
ex: g=Dispatch::Group.new; g.dispatch(Dispatch::Queue.concurrent) { raise('hey') }; g.wait
For 0.6:
[ ] implement Enumerable::Enumerator
[ ] write a pass manager to eliminate unnecessary arrays generated by massigns
[ ] vectorize bignums
[ ] block inlining
[ ] fast regexp =~
[ ] rakefile-ize instruby.rb
[ ] multithreaded JIT
[ ] debugger interface
[ ] fully implement FFI API
[ ] add support for encodings in strings
Porting from rb_define_method() to rb_objc_define_method():
Replace calls to rb_define_method() with a call to
rb_objc_define_method() and rewrite the function to
conform to the following signatures:
// if arity -2
VALUE foo(VALUE recv, SEL sel, VALUE args);
// if arity -1
VALUE foo(VALUE recv, SEL sel, int argc, VALUE *argv);
// if arity 0
VALUE foo(VALUE recv, SEL sel);
// if arity 1
VALUE foo(VALUE recv, SEL sel, VALUE arg1);
// if arity 2
VALUE foo(VALUE recv, SEL sel, VALUE arg1, VALUE arg2);
// etc.
In the case of rb_define_global_function(), replace it with
rb_objc_define_method(rb_mKernel, ...)
In the case of rb_define_singleton_method() for defining class
functions and module-level functions, replace it with
rb_objc_define_method(*(VALUE *)klass, ...)
In the case of rb_define_singleton_method() for defining methods on
individual instances of objects, replace it with
rb_objc_define_method(rb_singleton_class(obj), ...)
In the case of rb_define_module_function(), replace it with
rb_objc_define_module_function()
In the case of rb_define_alloc_func(), replace it with
rb_objc_define_method(*(VALUE *)klass, "alloc", ..., 0)
Jump to Line
Something went wrong with that request. Please try again.