Jan 9, 2007

Commons.GetOptions the sucessor to Mono.GetOptions

I'll start Commons.GetOptions outside of Mono, and just keep Mono.GetOptions 1.0 stable (only security fixes) inside Mono svn. That would help with stability requirements for Mono colliding with the desire for innovation/improvements on GetOptions.

I'll post details as I progress with it. But some of the ideas I already have are:

  1. to make it I18n-friendly (either gettext and resources, by defining/using localization providers and matching tools)
  2. drop the multiple constructor overloads for the attributes, in favor of the supported syntax for field initialization by name
  3. refactoring into a layered design, that should allow for imperative definition of option sets, besides the declarative form currently supported
  4. subcommands support
  5. easier runtime addition of options
  6. a tool to compile a DSL (Domain Specific Language) to binary optionsets classes and/or generate (cia codedom) partial classes sources in any language that have correct codedom support installed.
  7. a GTK# GUI tool (also wrapped as a MD plugin) to write the above DSL (some call it a graphical DSL)
  8. A WinForms component/editor to define/generate/use the DSL
  9. Full Monodoc/VSNET Documentation
  10. Sample code also in Boo, VB.NET and Java(IKVM)

Nevertheless suggestions are welcome.