Forum: Ruby Modular Ruby

Announcement (2017-05-07): www.ruby-forum.com is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see rubyonrails.org/community and ruby-lang.org/en/community for other Rails- und Ruby-related community platforms.
Bernhard 'elven' Stoeckner (Guest)
on 2006-03-08 23:46
(Received via mailing list)
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).

Thanks.
Julian I. Kamil (Guest)
on 2006-03-09 00:04
(Received via mailing list)
Bernhard, I am working on such a "sandbox" for the Pandora project.
It's not done, yet, but when it does, it will allow "client side" Ruby
programming through a browser using an object-oriented application
framework.  The Pandora wiki engine is pretty solid, and you can
download here:

http://pandora.rubyveil.com/pandora/Pandora/Projec...

Best regards,

Julian I. Kamil <removed_email_address@domain.invalid>
http://pandora.rubyveil.com/ - Document publishing and web application
framework
http://books.rubyveil.com/ - The Ruby Bookshelf
Robert K. (Guest)
on 2006-03-09 00:41
(Received via mailing list)
2006/3/8, Bernhard 'elven' Stoeckner <removed_email_address@domain.invalid>:
> 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
Bernhard 'elven' Stoeckner (Guest)
on 2006-03-09 01:05
(Received via mailing list)
Robert K. scribbled on Wednesday 08 Mar 2006 23:40:
> Kind regards
>
> robert
>
> --
> Have a look: http://www.flickr.com/photos/fussel-foto/

Thought so.  Well, I guess I'll fiddle around with a TCL-like-approach
involving a C base framework managing multiple ruby interpreters
sometime
soon.

Gut Nacht :)
This topic is locked and can not be replied to.