Brent Roman wrote:
>     GC.increase       #returns the number of bytes allocated since the last
> garbage collection
>     GC.limit              #returns the maximum allowed GC.increase
>     GC.limit= bytes  # sets the maximum allowed GC.increase
>     GC.exorcise        #Manually purge ghost refs from recently freed stack
> space (debugging only)

These expose implementation-specific details of GC. Should they perhaps 
be moved to an extension that's not normally loaded? require 'mri_gc' or 
something?

I'd also argue they're implementation-specific enough to not have any 
place in the standard, public Ruby API, since they make several 
assumptions about the GC algorithm in use.

In addition, they may be difficult to support as Ruby's GC evolves, and 
they'll certainly be difficult or impossible to support on 
implementations with completely different GCs (JRuby at least, perhaps 
IronRuby, Rubinius, MagLev, or MacRuby as well). In JRuby's case, we 
have our own implementation-specific ways to provide GC information, but 
we would never think of making them part of the public, specified API.

>     Proc|Method|UnboundMethod#__line__   #line on which these objects were
> defined
>     Proc|Method|UnboundMethod#__file__    #file name in which these objects
> were defined

I think something like these were still being discussed...did those 
discussions ever agree to add them? If not, perhaps they should be 
reopened before being added.

At any rate I hope *all* API changes will be brought to ruby-core for 
consideration. It sounds like you plan to do that.

- Charlie