Hi, I just completed my master's project and as I used Mono I wanted to thank everyone who has contributed to development of the framework. I've found Mono very stable, fast and easy to use.
My project, Katahdin is a programming language interpreter written in C#. Unlike most interpreters, the language that Katahdin interprets can be modifed by the running program. You can add new language constructs such as expressions and statements as easily as defining new functions and types. If your langauge doesn't have a for-each statement you can define one in just a few lines. Katahdin can be compared to CLI languages such as Boo and Nemerle that have macro systems but it's much more powerful. An entire language can be defined in Katahdin, turning the interpreter into an interpreter for that language that can run off the shelf programs. Two languages can be composed to use them both at the same time. For example, in my demos I use write a program in one file that has both Python and FORTRAN code running together, sharing code and data. You might be interested in looking at Katahdin because: * It is a medium sized application built entirely in Mono * It very heavily uses DynamicMethod and ClassBuilder * It allows for interesting new language development in Mono * Optimisations could be tested on it You may also be interested in the theory of Katahdin, and how they are implemented in Mono: * Parsing expression grammars * Packrat parsing You can find Katahdin, my thesis and other literature at http://www.chrisseaton.com/katahdin/. The code is in the public domain. Thanks Chris Seaton _______________________________________________ Mono-list maillist - [email protected] http://lists.ximian.com/mailman/listinfo/mono-list
