FYI, this is a Perl6 issue that may be relevant for future implementations 
of Ruby.

Simon Cozens
This week on perl6 (04--11 Feb 2001) 

# Packaging
# 
# The autoloaded core functions idea got slightly left by the wayside,
# as the discussion finally veered off onto how to package up modules
# and programs to satisfy dependencies and make things easy for the
# user. A setup similar to Java's "jar"s was suggested. Dan came up with
# the very simple and neat idea of simply shipping a bytecode compiled
# version of a program instead. Schwern was a bit concerned that this
# would lose source code and would separate out documentation; Dan's
# brilliant answer was: 
# 
#      Not unless you strip the bytecode. I want to optionally package
#      the source in the bytecode, since otherwise you can't do some
#      optimizations after the fact on the generated bytecode stream. 
# 
# He also suggested a text segment in bytecode so that, for instance,
# you can still get POD embedded in code. 
# 
# That's something that may well happen anyway, but Branden came back on
# the packaging issue. He noted that Dan's suggestion wouldn't help for
# modules with C extensions, and also said: 
# 
#      Actually, I think the archive approach is more general, because
#      it wouldn't have this kind of problems and would allow other
#      resources to be deployed together with the code, like
#      documentation, perhaps even text files and images used by a
#      Perl/Tk application 
# 
# Comparisons were made between this and the currently-existing PPM.
# Branden produced a draft PDD for his ideas. 

Future weekly "This Week on Perl6" report links will supposedly appear on 
the www.perl.com home page.

Conrad Schneiker
(This note is unofficial and subject to improvement without notice.)