I'm writing an applicaton that is, at its core, a rules engine. The users want to be able to define custom rules. Some of these will be fairly simple algebraic expressions, many will involve some if-then branching logic, and some will be even more complex. What are my options for doing this?
My users are pretty smart, proficient at T-SQL and Excel commands, and generally familiar with programming constructs but they are not "programmers" per se.
I've thought about using VBA/VSTA; interoperating with Excel somehow; integrating some sort of scripting language (Ruby? Perl? Tcl?); or rolling my own.
In the best of all possible worlds, I will give them an editor with color coding and IntelliSense-like interactive help, an immediate execution mode for testing and experimenting, and a step-thru debugger. They also need to be able to save, retrieve, edit, and execute their rules. Blazing speed is not essential.
My environment is Windows/.Net 3.5/C#
Any ideas?