Skip to content

rsdn/nemerle

Folders and files

NameName
Last commit message
Last commit date

Latest commit

b5f7046 · Mar 5, 2025
Jun 4, 2020
Oct 11, 2018
Mar 9, 2017
Dec 25, 2017
Mar 10, 2017
Mar 2, 2017
Jan 30, 2016
Dec 24, 2017
Mar 9, 2017
Mar 20, 2017
May 11, 2020
Jun 4, 2020
Jan 28, 2020
Jan 31, 2020
Jul 10, 2011
Jun 4, 2020
Mar 20, 2017
Aug 12, 2005
Aug 6, 2013
Aug 6, 2013
May 15, 2014
Aug 6, 2013
Aug 6, 2013
Aug 6, 2013
Aug 6, 2013
Aug 6, 2013
Jul 9, 2019
Jan 8, 2005
Jan 16, 2016
Aug 6, 2013
Oct 9, 2014
Aug 6, 2013
Oct 9, 2014
Aug 6, 2013
Jan 30, 2016
Jan 30, 2016
Jan 16, 2016
Jan 16, 2016
Mar 18, 2020
Aug 15, 2014
Aug 15, 2014
Aug 15, 2014
Aug 6, 2013
Aug 6, 2013
Oct 9, 2014
Aug 6, 2013
Oct 24, 2013
Oct 18, 2013
Oct 18, 2013
Mar 31, 2005
Oct 22, 2013
May 29, 2014
Feb 6, 2011
Jun 30, 2010
Jun 20, 2011
Jul 16, 2012
Aug 12, 2012
Oct 29, 2013
Sep 28, 2015
Aug 14, 2013
Aug 7, 2013
Mar 14, 2012
Jul 12, 2007
Jul 16, 2013
Sep 28, 2015
Jun 22, 2020
Jul 23, 2008
Feb 25, 2014
Jan 20, 2017
Oct 11, 2011
Aug 15, 2014
Nov 6, 2014
Nov 6, 2014
Dec 17, 2015
Oct 11, 2011
Aug 27, 2012
Mar 1, 2008
Mar 5, 2025
Apr 25, 2010
May 29, 2014
Sep 4, 2012
Sep 4, 2012
Sep 4, 2012

Repository files navigation

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

  • For Development:

Nemerle build process (for Nemerle developers)

  • For Installer:

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.

  • Generic line:

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)

  • Release 3.5:

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

  • Debug 4.0:

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

What about IDE?

  • Visual Studio 2008/2010/2012/2013-preview integration installed by Nemerle installer
  • Nemerle Studio is a free IDE based on Visual Studio Shell (Isolated mode) installed by Nemerle installer if VS Shell was installed
  • Sharp Develop 3.0 addin can be builded manually. See snippets/sharpdevelop/ReadMe.txt
  • See Vim, Emacs, Kate and other editors syntax support in the 'misc' folder

Repository structure

  • Nemerle compiler sources (ncc/),
  • Nemerle Documentation (doc/),
  • standard Nemerle library (lib/),
  • standard Nemerle macros (macros/),
  • some examples of Nemerle programs (snippets/),
  • a few useful tools (e.g. synatx highlighting modes) (misc/),
  • binary Nemerle compiler needed to compile itself (boot/, boot-4.0/).
  • Nemerle realted tools (e.g. relector addin) (tools/)
  • Visual Studio 2008 integration (VsIntegration/)

Contacts