From: Eero Saynatkari Date: 2009-02-16T08:32:52+09:00 Subject: [ruby-core:22171] Re: A short memorandum (Re: 1.8.7 Specifics) Excerpts from Headius: Charles Oliver Nutter's message of Sun Feb 15 23:02:05 +0200 2009: > Hongli Lai wrote: > > I understand that this is frustrating to you as a Ruby implementer, but > > I still don't think that it's a bad idea to expose GC APIs. The GC APIs > > can be documented as "private" or "not guaranteed to be available on > > other Ruby implementations" or something, so that when people file bug > > reports, you can just point to the documentation and tell them that it's > > their responsibility to fix their apps. > > For example, Phusion Passenger is fully compatible with standard MRI and > > only uses the COW GC API when available. If things break then we > > consider that to be a bug. > > I never said don't expose them...just don't make them part of the > always-visible set of APIs. Attempting to load an extension for access > to the APIs and failing over is much easier than going one by one > through the individual methods and checking if they exist. I would prefer having to `require "gc"` for the insulation. Only applying to the API, of course: I see no reason to require people to specifically activate the GC functionality itself. On the other hand, the GC module already exists: should it be moved out of core altogether? -- Magic is insufficiently advanced technology.