Skip to content
xs-admin edited this page Jul 17, 2016 · 6 revisions

Welcome to the Excess wiki!

Excess is a metaprogramming platform currently implemented on top of Roslyn. The aim of the project is to facilitate the creation of programming language extensions by the community instead of language owners. Language extensions increase the language expressiveness, allows for custom syntax for domain specific languages and provide semantic guarantees that libraries simply can not.

At its core Excess is a substitution engine, where language extensions are simply "translated" into valid code written in the host language (C#, currently). Consequently, once the extension is correctly translated, the code is fully functional and the extension writer does not have to worry about traditional programming language chores such as code generation.

The following sections will introduce the platform:

An example: contract extension

A recipe index for all kind of extensions

Programmer's Guide