Hello, Are there any docs (online resources, books) available in english on the implementation of the ruby interpreter ? (i believe there must be a more efficient way to get a grip on the inner workings of the ruby interpreter, than just scanning the +/- 70000 lines of code ?) I'd like to do some experiments with garbage collection for ruby, and i'd like to know how the garbage collector is integrated in the ruby interpreter. (everything gc-related in gc.c ?) For example, how hard would it be to build a generational collector ? What code would need to be changed to include a software write barrier ? (is rb_eval in eval.c a good starting point ?) I also have some questions related to extensions, i've read that extensions should register the addresses of the ruby objects they use with the gc. Related to this, does that mean that *only* these objects can not be moved during gc ? Or is it that every object (in)directly referenced by a registered object should not be moved during gc ? Also, is it possible to not use any extensions, so that you could use a moving gc ? Or are some extensions always loaded ? (i read some things about a generational gc for ruby.. there would be one included in the 1.8 release, but it's not included in the preview ? are there still plans to include one or not ? is there an existing generational gc for ruby ?) Ruben Vandeginste