Home

Awesome

What Is It

Join the chat at https://gitter.im/rsdn/nemerle

Nemerle is a high-level statically-typed programming language for the .NET platform. It offers functional, object-oriented and imperative features. It has a simple C#-like syntax and a powerful meta-programming system.

Features that come from the functional land are variants, pattern matching, type inference and parameter polymorphism (aka generics). The meta-programming system allows great compiler extensibility, embedding domain specific languages, partial evaluation and aspect-oriented programming.

To find out more, please visit: http://nemerle.org/

Quick sample

Hello world

Create hello.n:

using System.Console;

WriteLine("Hello world")

Compile and run

"C:\Program Files\Nemerle\ncc.exe" hello.n /out:hello.exe
hello.exe

Will output

Hello world

Install

Windows

Install latest msi package from http://nemerle.org/

Linux, Mono

Download latest binary package from http://nemerle.org and export Nemerle=/path/to/binaries/extracted

How to build

Clone with all submodules: git clone --recursive git://github.com/rsdn/nemerle.git If you have a clone already: git pull --recurse-submodules

Windows

Nemerle build process (for Nemerle developers)

Run BuildInstallerFull(fx-version).cmd depending on required .NET version. Installer will be placed in bin/Release/net-(fx-version)/Installer.

Note: You can also use BuildInstallerFast(fx-version).cmd to build installer without running tests.

Note: For building Visual Studio bindings you need VSSDK and administrative rights.

Linux

Nemerle can bootstrap itself on Mono.

xbuild NemerleAll-Mono.nproj /p:TargetFrameworkVersion=v(3.5 or 4.0 or 4.5 or 4.5.1) /p:Configuration=Release(or Debug) /t:Stage4(1 - 4) /tv:4.0(Needed for framework 4.0 and above)

xbuild NemerleAll-Mono.nproj /p:TargetFrameworkVersion=v3.5 /p:Configuration=Release /t:Stage4

xbuild NemerleAll-Mono.nproj /p:TargetFrameworkVersion=v4.0 /p:Configuration=Debug /t:Stage4 /tv:4.0

What about IDE?

Repository structure

Contacts