Hi,

I'd like to suggest two things for Ruby 1.9.x.

The first I have suggested before, but I wish to bring it up again b/c
it is a very basic construct and I have found it useful more than a
few times. It's just a class that makes for a quick an easy way to
create a "fluent" interface. I have dubbed it a "Functor", but the
name isn't so important. I have seen others label it a
"HigherOrderMessage".

Here is the definition:

  class Functor
    # Privatize all methods except vital methods and #binding.
    private(*instance_methods.select { |m| m !~ /(^__|^binding$)/ })

    def initialize(&function)
      @function = function
    end

    def to_proc
      @function
    end

    # Any action against the functor is processed by the function.
    def method_missing(op, *args, &blk)
      @function.call(op, *args, &blk)
    end
  end

A simple Google search will reveal numerous blogs about what can be
done with this kind of construct. The above is the simplest and most
generic form. More specialized variations could use this as a base
class.

My second suggestion is that platform.rb, which is part of RubyGems,
or something essentailly equivalent, be made a standard, generic part
of Ruby.

Eg. ::Gem::Platform becomes just ::Platform and we can

  require 'platform'

Eric's library, it seems to me, is generally useful --I have found it
so at least once myself.

Thanks,
T.