Hi James,

> def require source
>   files = File.new("libcontents").read
>   source.sub! /.rb/ ,""
>   if files =~ Regexp.new(source + ".rb")
>     system "tar -Ozxf rubylib.tar.gz #{source}.rb > /tmp/#{source}.rb"
>     super "/tmp/#{source}.rb"
>     File.delete "/tmp/#{source}.rb"

This is a really cool thing!

What I see you could improve:

1. Error handling. What if a file is not there? What if the archive is
broken? What if out of disk space?

2. Execution time. This is in "quadratic time". This means that if you
have twice the files, you quadruple your time. This can be improved by
switching to another format:

	(a) usual file hierarchy but with support for .gz
	(b) tar archive, not gzipped, but containing only .gz files
	(c) .zip file

3. Not using a temporary file. This would require a change to the
built-in "require" method itself.


By the way, in which context do you define require? in module Kernel ? if
so, how come can you use super?


matju