> I much prefer 'location', because it is something that every Ruby
> implementation can provide. iseq is super super low-level, and we
> should think hard about the API before calling it public.

True.  I suppose my suggestion was a little bit MRI-centric after all :)

Could I then also make a request for a few MRI specific functions, either

>> p = proc { |n| n + 2 }
=> #<Proc:...>
>> RubyVM::InstructionSequence.disassemble p # this doesn't currently work

or the before mentioned
Proc#iseq
(Unbound)Method#iseq [see [1]]

These would yield some very welcome functionality for projects like
[2,3,4]  since it would allow users to potentially parse blocks [and
rewrite them] before executing them, which has some strong potential.
This is available in 1.8.x because the AST is made available to c
functions, but not (yet) for 1.9.

Thanks for your help.
-=R

[1] http://groups.google.com/group/ruby-core-google/browse_thread/thread/932c0ea1078e294a
[2] http://rewrite.rubyforge.org/
[3] http://parsetree.rubyforge.org/
[4] http://code.google.com/p/ruby-roger-useful-functions/wiki/NamedParameters