This is not quite what you are asking for, but depending on your needs, I would research Boo. It is relatively painless to create a DSL in Boo that is relatively readable by business people, which has great advantages, even if they are not the ones who directly code the rules.
Oren Eini Building Domain The specific languages in Boo are pretty good and just came out in final form. The rule engine is one example of the DSL implementation that he is considering. Boo is a fully-built statically typed Python language for .Net, with a small but powerful community, and makes changing the language according to specific needs easier than almost any other alternative, thanks to the extensible compiler pipeline and a very nice semantic mass-macro system .
The good thing about Boo is that most DSLs are simply built on a common base class that provides you with a “language” but is not very different from the code you write in hard-coded rules. You can make the language look the way you want, but you don’t have to worry about manually analyzing or writing control flow commands or about all the things you expect from the language.
There are some drawbacks: this is not quite like Python or Ruby, the documentation is mostly in the Boo source code, and the community is, yes, not enough. But if you can "teach by example," you can get pretty far. The main caveat that applies to your wishlist is code completion; code completion has limited support with some VS plugins and with SharpDevelop, but that pretty much evaporates when creating a DSL.
Jasontrue
source share