A high-level statically-typed programming language for .NET with functional, OOP, imperative features and powerful meta-programming.
Nemerle is a high-level statically-typed programming language for the .NET platform that combines functional, object-oriented, and imperative programming features. It solves the need for a versatile language with advanced meta-programming capabilities, allowing developers to extend the compiler and embed domain-specific languages directly into their code.
.NET developers seeking a multi-paradigm language with strong functional programming features and meta-programming support for building extensible systems or domain-specific languages.
Developers choose Nemerle for its unique blend of C#-like simplicity with powerful functional features and a meta-programming system that enables compiler extensibility, partial evaluation, and aspect-oriented programming, all within the .NET ecosystem.
Nemerle language. Main repository.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Offers variants and pattern matching for expressive, type-safe code, as highlighted in the functional features section of the README.
Enables compiler extensibility and embedding of domain-specific languages, key for custom tooling and aspect-oriented programming.
Seamlessly runs on .NET with Mono support for cross-platform development, as detailed in the installation and build instructions.
Provides integration with Visual Studio and plugins for editors like Vim and Emacs, facilitating development workflow.
Building from source requires specific commands and multiple steps for Windows and Linux, as outlined in the 'How to build' section, which can be intimidating.
IDE integration is listed only up to Visual Studio 2013-preview, indicating lack of updates for newer versions and potentially hindering modern development.
Smaller community and fewer libraries compared to mainstream .NET languages, limiting resources and support for common tasks.