Extending c# online


Hello Foundation!

My name is Emilio Santos, I’m very proud to present you my current project, Excess. The objective of the project is to make the process of developing and extending programming languages more open to the community. In other words, so members of the community can design and publish their working, testable language features for the rest of the community to evaluate. Of course, the language to be extended is C# via another one of the Foundation’s projects: Roslyn.

Excess is an online platform that embodies one of Roslyn’s main objectives: the compiler-as-service. This means users can write and test their extensions to C# right on the website. The project is at the functional prototype state and is available here: xslang.azurewebsites.net/ it is free and open source, hosted in github under the xs-admin user.

One of our earlier examples is a construct called “match” (screenshot here, working code here)

match (value)
    case > 10: //test match case
    case value1 > value2:  //test any other condition
    default: //no match

As you can see, the match construct works in a similar fashion as the traditional switch construct in c#, but allows expressions on the case statements. Including the very cool case > 10. The source code for this extension totals about 150 lines of code and is available for review and modification at the link provided above.

There are many exciting features to be developed and so little time. I’m writing to the community with the hopes to find fellow developers interested in programming languages to join the project. It is still on its very beginning so you can make the difference!

Best Regards,
Emilio Santos

.NET Foundation Website | Blog | Projects | Code of Conduct