From: Alan Chen Date: 2002-09-26T04:17:45+09:00 Subject: Re: embedding ruby inside an application? On Wed, Sep 25, 2002 at 05:28:34PM +0900, Yukihiro Matsumoto wrote: > In message "Re: embedding ruby inside an application?" > on 02/09/25, Ryan Davis writes: > > |> Embedding Ruby has the following restrictions: > |> > |> * one interpreter per proecss (no interpreter object) > |> * no interpreter reset > |> * GC do not work well with native thread > | > |Are these being addressed in 1.7 or future versions? Or is this by > |design? > > For the good news, it is planned to fix these problems in the next > major release, so called Rite (Ruby 2.0). > > For the bad news, it still is a vaporware. No fixed date nor roadmap > is revealed. > > matz. Is there anything fundamental preventing someone from taking the 1.7 codebase and trying to make it multi-intrepreter/reset cabable? I've done this sort of thing before for large simulation codebases, and it's usually not difficult work (although it may be time-consuming). Typically, my approach was to first hunt down all the globals and place them into a "global" data structure - e.g. RubyInterpGlobals. Then we move the formerly global structure into non-global space and modify the appropriate functions to accept the structure as an argument. Again, its not difficult, but it is large-scale refactoring. You can break up the work somewhat by doing it on a module by module basis. -- Alan Chen Digikata LLC http://digikata.com