Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Nemerle language. Main repository.
Nemerle C# JavaScript HTML Shell Makefile Other

Merge pull request #13289 from russpowers/master

Use opcode unbox.any when casting from object to value type
Failed to load latest commit information.
ExternalDependences Remove unused external dependencies.
Linq Merge pull request #589 from kskalski/master
VsIntegration Add OpenBrace and CloseBrace fields to token groups.
boot-4.0 Update boot to compile on Unix.
boot Update boot to compile on Unix.
doc Set "svn:eol-style" property to LF (for automatic convert CRLF to LF).
lib Remove PriorityQueue due to duplicated functionality.
macros Minor tweak of assetX macros.
misc Include nemish.exe in bin archive. Fix #624
ncc Emit opcode unbox.any instead of unbox and ldobj for casting an objec…
snippets [WordToRsdnMlConverter] Fix
tools Fix self reference in Nemerle.MSBuild.targets file.
.gitattributes addind gitattributes
.gitignore Correct version for VisualStudio integration.
.gitmodules Remove unused external dependencies.
AUTHORS First version of the Code Completion Engine. Type Tree already works,…
Build-3.5.cmd Revert "Improve build scripts for those who don't have Framework 32-b…
Build-4.0.cmd Revert "Improve build scripts for those who don't have Framework 32-b…
Build-Mono.sh Remove NemerleAll-Mono.nproj.
BuildInstallerFast-4.cmd Revert "Improve build scripts for those who don't have Framework 32-b…
BuildInstallerFast.cmd Revert "Improve build scripts for those who don't have Framework 32-b…
BuildInstallerFull-4.cmd Revert "Improve build scripts for those who don't have Framework 32-b…
BuildInstallerFull.cmd Revert "Improve build scripts for those who don't have Framework 32-b…
BuildQuick-ncc-4.cmd Revert "Improve build scripts for those who don't have Framework 32-b…
BuildTest-4.cmd Revert "Improve build scripts for those who don't have Framework 32-b…
BuildTest.cmd Revert "Improve build scripts for those who don't have Framework 32-b…
COPYRIGHT Update (c) notices. Please add 2005 during next commits.
DevBuild2Stage.cmd Revert "Improve build scripts for those who don't have Framework 32-b…
DevBuild2StageWithTests-4.cmd Fix deployment of IDE extension during installer build.
DevBuild2StageWithTests.cmd Revert "Improve build scripts for those who don't have Framework 32-b…
DevBuildForCommit-4.cmd Fix deployment of IDE extension during installer build.
DevBuildForCommit.cmd Revert "Improve build scripts for those who don't have Framework 32-b…
DevBuildQuick-VS2010.cmd Fix deployment of IDE extension during installer build.
DevBuildQuick-VS2012.cmd Redesigning build sequence.
DevBuildQuick-VS2013.cmd Fix tool version in VS2013 build script.
DevBuildQuick-ncc-VS2010.cmd Redesigning build sequence.
DevBuildQuick-ncc-VS2012.cmd Redesigning build sequence.
DevBuildQuick-ncc-VS2013.cmd Redesigning build sequence.
DevBuildQuick-ncc.cmd Revert "Improve build scripts for those who don't have Framework 32-b…
DevBuildQuick.cmd Revert "Improve build scripts for those who don't have Framework 32-b…
DevBuildQuickWithTests-4.cmd Fix deployment of IDE extension during installer build.
DevBuildQuickWithTests.cmd Revert "Improve build scripts for those who don't have Framework 32-b…
GacReg-4.0.cmd Add GacReg-4.0.cmd
GacReg-4.5.cmd Add cmd-s
GacReg.cmd Add cmd-s
INSTALL Remove binary installation stuff. This is *source* tarball.
License.rtf Update license.
Makefile Add --tv to Makefile, disable outdated options and unneeded checkings
NEWS [Doc] Fixes error in NEWS
Nemerle-2005.sln [Compiler]
Nemerle-2008.sln [Compiler] Fix get-only autoproperty typing.
Nemerle-2010.sln [VS2012] Initial commit for VS2012 support.
Nemerle-2012.sln [VS2012] Initial commit for VS2012 support.
Nemerle.Compiler.nproj Add cache to ExprWalker.
Nemerle.MSBuild.Tasks.csproj Remove warning in build for .NET 4.5 and 4.5.1
Nemerle.Macros.nproj making VS2013 integration to work on 4.5.1 framework
Nemerle.XBuild.Tasks.csproj [Mono] Fixing build for mono-4.0 target platform
Nemerle.build Wix package fix for x64
Nemerle.nproj Fix build for CLR 2.0.
NemerleAll.nproj Restore DevBuildQuickNccOnly
NemerleAllTest.cmd 1. Added msbuild scripts to build compiler, tools, vsintegration, she…
README Better formatting
README.md Better formatting
Reg-bins-2.cmd [VS2010] [VS2008] New Nemerle binaries path calculation algorithm. Cl…
Reg-bins-VS2010.cmd Redesigning build sequence.
Reg-bins-VS2012.cmd Swap file names.
Reg-bins-VS2013.cmd Swap file names.
Reg-bins.cmd [VS2010] [VS2008] New Nemerle binaries path calculation algorithm. Cl…
Reg-boot-4.0.cmd Closes #402. Updates boots.
Reg-boot.cmd Do not ever try to set the errorlevel environment variable, as it hid…
Tests.nproj [Compiler] Fix build for .Net 4.5, utilize TargetFrameworkVersion=v4.5 .
Tools.sln [Tools] Adds icon to nemish.
configure Add --tv to Makefile, disable outdated options and unneeded checkings
ncc.nproj Revert "Add documentation file for debug build."
ncc32.nproj Revert "Add documentation file for debug build."
ncc64.nproj Revert "Add documentation file for debug build."

README.md

What Is It

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:

    Run DevBuildQuick(fx-version).cmd depending on required .NET version. Compiler output will be placed in bin/Debug/net-{fx-version}/Stage1.

  • 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

Something went wrong with that request. Please try again.