Nemerle

Nemerle is a high-level statically-typed programming language for the .NET platform developed at the University of Wroclaw, Poland. It is much more powerful than any other .NET language including C# and F#.

The syntax is very similar to C# and also supports functional programming, type inference, metaprogramming, contracts, convenient match operator and many more.

What I like the most about it is its ability to easily extend the language syntax with macros (metaprogramming). For example I was able to extend it with async/await keywords (known from C# 5.0) myself in the first month after I discovered Nemerle! Imagine how you can use such power (syntax shortcuts for dependency properties in WPF, auto implementation of design patterns, aspect programming, extremely easy use of your library, no more need for repetitive code). Everything at compile time with validation, type checking with very efficient output code and no runtime overhead. I hope I don't need to enumerate further and you already see how cool it is!

Nemerle is fully integrated with Visual Studio. Please try it and you will never want to go back to C#.