Nemerle
Programs may be structured using object-oriented concepts such as classes and namespaces, while methods can (optionally) be written in a functional style.Other notable features include: The metaprogramming system allows for great compiler extensibility, embedding domain-specific languages, partial evaluation, and aspect-oriented programming, taking a high-level approach to lift as much of the burden as possible from programmers.The following curly-brace snippet: could be rewritten as: Notably, it is not possible to break expressions or alternative clauses in matches over multiple lines without using a backslash \: In order to activate this syntax, the user must add #pragma indent to the top of the file or use the compiler option -i. Nemerle can be integrated into the integrated development environment (IDE) Visual Studio 2008.can be implemented in a more C#-like fashion: or more simply: Macros allow generating boilerplate code with added static checks performed by the compiler.Using Nemerle macros for SQL you can write: instead of and this is not just hiding some operations in a library, but additional work performed by the compiler to understand the query string, the variables used there, and the columns returned from the database.