Nemerle is a general-purpose, multi-paradigm programming language for the .Net platform. It is as easy to learn and use as C# or VB.NET but Nemerle is by far more powerful. One may start using it as an advanced C# and then, as learning goes on, employ a range of cool features enabling metaprogramming and functional programming. The metaprogramming is based on macros bearing some similarity to Lisp.
Supported paradigms : Object-Oriented Programming (OOP), Functional Programming (FP), Metaprogramming (MP), Component-Oriented Programming (COP), DSL-Oriented Programming (DOP) or Language Oriented Programming (LOP).
Type system : static typing , strong typing , inferred , nominal .