Project Description
An implementation of OMeta that runs on .net.

From the paper that introduced OMeta, it is ".. a new object-oriented language for pattern matching. OMeta is based on a variant of Parsing Expression Grammars (PEGs) —a recognition based foundation for describing syntax— [that has been] extended to handle arbitrary kinds of data.... OMeta’s general-purpose pattern matching provides a natural and convenient way for programmers to implement tokenizers, parsers, visitors, and tree transformers, all of which can be extended in interesting ways using familiar object-oriented mechanisms. This makes OMeta particularly well-suited as a medium for experimenting with new designs for programming languages and extensions to existing languages."

More information about the OMeta language can be found at Alessandro Warth's page. In addition, you might be interested in watching the video presentation of Alessandro's OMeta keynote at Smalltalk Solutions 2008. Alessandro jokingly referred to OMeta# in the keynote as feeling sorry for me since I'm using such a statically typed language like C# to implement it. :-)

For more information specifically about OMeta#, see my blog
  1. OMeta#: Who? What? When? Where? Why?
  2. Building an Object-Oriented Parasitic Metalanguage
  3. Meta-FizzBuzz

Community Content
  1. Getting started with OMeta# by James Gregory

Last edited Oct 23, 2008 at 1:01 AM by jeffmoser, version 11