Hi Tobin, I've read your README file.

  It is well neat for me to tackle to CORBA Ruby;-).
  (But I am to freeze my orbit wrapper if your code is pretty work or active developing.)


  I think it's time for us to discuss about CORBA Ruby mapping.
  There are more than 10 persons concerned with CORBA-Ruby I've talk or see.
  We beleave it is important for Ruby to be released over CORBA world.

  First of all, I attach my vision about the CORBA Ruby Specification.
  I'll comment on your document in this weekend.


  But I'm sorry in advance, as you know I am very capricious programmer and I cannot take
 much time. So please advance discussion or programming when I'm vanished;-p
# And please keep a subject to include `CORBA' or any other words.
# I don't read all messages in heavy traffic on this ML.


---
CORBA Ruby Specification

the CORBA language mapping specification contains some layer of specs.
  1. IDL to Ruby mapping.
  2. Ruby object interfaces of pseudo object or ruby-mapping specific object(such as CORBA::Enum)
  3. portability mapping.
     The portablity mapping allows any stubs or skeletons following this spec to well work
    on any CORBA implementation also follows it.

---
CORBA Ruby base library

We should implement and use common CORBA library like org.omg.corba package on Java.
Any developer can choise using these library or implementing by himself/herself.
The mapping should expect an object is not kind of particular class but respond to method.

I think this library includes:

  1. interface definition.
     Interface have two meaning in Java.
     One is to enable Java multiple inheritance and the other is likely showing spec by code.
     The Ruby need not interface in former meaning but it is usable in latter meaning.
     (particularly in case of people use different natural languages as we are ;-) )

     And its reference code should be well commented.
     I prefer JavaDoc format for its purpose, I think using John's RubyDoc
       http://www.ruby-talk.com/14389


  2. common basic implementations.

    a. need in mapping
       Enum class. I suspect that it may be used in IDL enum mapping.

    b. simple pseudo classes as anyone create same code.
       ex) SystemException.

    c. more simple classes than b. 
       These implementation may be genereted by IDL compiler.

       ex) IOR, IOP, and so on...


  3. Ruby extension or utilities.

     require method may be extended to automatically compile and load IDL.


  Developer can select which class to use.
  for example, a ORBit Ruby wrapper may use common Enum class but not use common SystemException.

  It will be based on my CORBA sub-library included in Rinn.