These article series talk about capturing complex business requirements with custom Domain Specific Languages. In this case we follow the steps of Ayende Rahien and implement our DSLs with the Boo language.
Article series:
- Learning how to implement business workflows with DSL
- Overview of creating custom Domain Specific Language for .NET with Boo
- Let’s integrate our DSL compiler into the build process
- How to peek inside the compiler pipeline of Boo? And part 2
- What about extending xLim2 with DSL implementations?
- DSL is a business knowledge in script form. Let’s reuse it.
Snippets:
- Fluent interface from Autofac IoC in DSL configuration
- Using row tests in NUnit to check for DSL compilation
Resources:
- Boo project
Boo is a new object oriented statically typed programming language for the CLR. But we like for its focus on language and compiler extensibility. - Rhino DSL
Small library by Ayende Rahien that simplifies some tasks specific to building DSL with Boo. - BooLangStudio
Visual Studio 2008 integration for the Boo. Still in its early days, but under an active development. - Boo.Microsoft.Build.tasks
References:
- Building Domain Specific Languages in Boo
This book by Ayende Rahien is highly advised for reading. - SimpleStateMachine
CodePlex project focusing on implementing WF functionality via the Boo and Rhino.Dsl
Notes 2 self: specific ideas to check out:
- Try implementing distributed workflow
- Try strongly typed grid views/detail editors generated by the DSL
- Try strongly typed forms generated by the DSL (including simple and complex validators)
- Try reusing same DSL snippets in different scenarios (same DSL, but different implementations of the underlying class - should be better than XML)
- What about adding post-build step to enforce additional constraints on the assembly (simplified Spec#)))
Latest Comments