Comparison of Text templating vs Compiler Extensibility

 In this post, I would like to wrap up a quick tour of compiler extensibility with a few thoughts on how it compares to Text Templates. Text Templates It is easy to get started with text templates and the tools.  In most cases, you probably have a file that looks similar to what you…


How to implement IAsyncResult using compiler extensibility

In previous posts I gave an introduction to Boo and the extensibility of the compiler. In this post we are now able to look at how compiler extensibility can be used to improve the creation of asynchronous operations. Initially, I thought it would be straighs’t forward to modify the model created earlier with text templates…


Overview of compiler extensibility

One of the aspects of Boo that caught my attention was that the compiler was extensible. In this post, I hope to give a brief overview of what you can do to extend the compiler, but to really understand in depth, I recommend the book DSLs in Boo. Compiler Pipeline Boo’s compiler is built as…

1

Introduction to Boo

Not too long ago I discovered the existence of a language called Boo.  Boo feels like you are writing in Python but uses the CLR directly and has its own compiler just like C#.  Let’s jump in and take a look at some code to get a feel for it: import Boo.Lang.Useful; class MyClass:    def constructor():        print “Class was constructed”            def DoSomething():        print “Doing something”    print “Hello,…