From: Robert Klemme Date: 2006-03-09T07:40:11+09:00 Subject: Re: Modular Ruby 2006/3/8, Bernhard 'elven' Stoeckner : > Hi. > > Im looking for a framework or some other means of un-/loading ruby code into > a live interpreter. Im thinking along the lines of TCLs interp command > here, which instanciates a new slave interpreter completely unrelated to > the main one, apart from a user-defined interface procs/methods. The slave > interpreter even can source other files and load binary libs without > affecting the main interpreter. > > I guess it can be done via Threads and a sufficent high $SAFE value, though > that would still leave the possibility of polluting the namespace of other > threads, wouldn't it? > > Reason for all this is a module system that takes class code from files in > order to extend functionality of the main program. Though i'd settle for a > working way of unloading cleanly without leaving stuff in namespace (if the > module author adheres to set interface regulations, of course). I think this is not possible using plain ruby because you can always access constants in gobal scope. If you control your plugins you can use anonymous classes that register themselves somewhere. If the registration is deleted their code is no longer accessible. Other than that I guess you'll need to modify the interpreter in C code - or create multiple interpreters. HTH Kind regards robert -- Have a look: http://www.flickr.com/photos/fussel-foto/