[Ironruby-core] Separating standard libraries from builtin

Wayne Kelly w.kelly at qut.edu.au
Wed Apr 30 22:55:26 EDT 2008


Are you suggesting that long term - modules like digest and openssl remain in the IronRuby.Libraries and be automatically loaded at startup?

I had assumed that this was just a temporary hack and I think long term it is the wrong way to go. There are both performance and compatibility arguments ... Firstly, the overhead of loading non-builtin modules such as digest should only be incurred for those applications that explicitly choose to require it. Secondly, by automatically loading such modules, we are poluting the global namespace and setting up possible collisions with programmer created classes.
In general, loading a module can have side effects. At present there are only a handful of such modules, but long term there will be dozens, if not hundreds. Matz should be the one that decides which modules get loaded automatically and which require explicit loading.

Cheers, Wayne.

> -----Original Message-----
> From: ironruby-core-bounces at rubyforge.org
> [mailto:ironruby-core-bounces at rubyforge.org] On Behalf Of
> Tomas Matousek
> Sent: Thursday, 1 May 2008 11:38 AM
> To: ironruby-core at rubyforge.org
> Subject: Re: [Ironruby-core] Opening up our tree to external
> committers
>
> I don't think we should go crazy and create one dll per
> library. Loading dlls has some overhead. Since digest and
> openssl are just IronRuby stubs for functionality already
> implemented in BCL, it could be in one dll. I need to figure
> out how to do loading of Ruby libraries contained in an
> assembly, but I think it could be done.
>
> Tomas
>
> -----Original Message-----
> From: ironruby-core-bounces at rubyforge.org
> [mailto:ironruby-core-bounces at rubyforge.org] On Behalf Of Wayne Kelly
> Sent: Wednesday, April 30, 2008 4:40 PM
> To: ironruby-core at rubyforge.org
> Subject: Re: [Ironruby-core] Opening up our tree to external
> committers
>
>
> For consistency, can we also separate the other standard
> libraries such as digest, openssl, etc (that require explicit
> loading) into separate assemblies?
> This of course, first requires us to be able to load such assemblies.
>
> There will of course be an ever increasing set of such
> libraries, so it would be nice to have a relatively
> lightweight process to allow such new directories/libraries
> to be created.
>
> Note, some of these libraries might be implemented using a
> combination of Ruby and C# code.
>
> I hope this mechanism will enable people to upload prototypes
> of what they're working on, so that we don't need to wait
> until something is complete and polished before seeing it.
>
> Perhaps we could have a generic IronRuby.Misc that people
> could create directories  beneath initially, which could then
> be moved to top level status once they've matured.
>
> Cheers, Wayne.
> _______________________________________________
> Ironruby-core mailing list
> Ironruby-core at rubyforge.org
> http://rubyforge.org/mailman/listinfo/ironruby-core
> _______________________________________________
> Ironruby-core mailing list
> Ironruby-core at rubyforge.org
> http://rubyforge.org/mailman/listinfo/ironruby-core
>


More information about the Ironruby-core mailing list