[Mono-list] Nemerle 0.1.3 released
Sun, 30 May 2004 20:47:49 +0200
The 0.1.3 source tarball of Nemerle compiler has hit our server.
This release should work just fine with mono beta preview (that is it
handles GAC, though Nemerle assemblies are not yet installed in the
Nemerle is a new hybrid (functional, object-oriented and imperative)
programming language for the .NET platform.
Key features of the language include:
* C#-like syntax
* easy to use object system (derived directly from the .NET)
* easy access to both functional and imperative features
* powerful code-generating macros
* pattern matching
* static and on-demand dynamic typing
* type inference.
The DEB packages might be a bit out of sync, they should be fixed
soon. MSI and RPM packages (as well as the source tarball of course)
The source tarball can be downloaded from:
And other packages as usual from:
New features in this release include (from the NEWS file):
0.1.3, May 30 2004
This is an incremental release before 0.2.0, it has some more .NET
connectivity features, although a few things are still missing (before
we can call Nemerle a CLS extender).
New language features in this release:
* Properties and events can be now defined. Syntax is mostly the
same as in C#.
* Basic custom attribute support has been added. We do not support
attribute targets nor attributes on parameters yet.
* Enums can be now defined.
* +=, -=, *= etc operator on numbers.
* Delegates can be now invoked like d() (not only d.Invoke()).
+= and -= operators are overloaded for events and delegates to do
The Right Thing(tm).
* Macros can be now defined on declarations (types, methods, fields
etc). They are run using attribute syntax.
* Preprocessor supporting conditional compilation has been added.
It shares semantics with one from C#, -define (aka -D) flag is also
* Methods can be now defined inside variants. Thus a few library
changes, like addition of ToString and + operator to list type.
* Operators can be now overloaded (in addition to adding new).
* Fields in classes can now have initializers (these are added
* External types are now stored in a specially crafted tree. All types
are loaded on startup, but this saves time later.
* Syntax extensions tied to macros are now activated only within
namespace of given macro.
* -pkg-config switch has been added, so external libraries (like
Gtk#) can be easily linked, using -pkg:gtk-sharp.
* -no-stdlib option now prevents mscorlib.dll and System.dll from being
loaded, -library-path now works for them too.
* ncc can now handle @response files.
* Matching is being reworked, matching on variants is now a lot faster
than it used to be.
* Some hacks to allow mono GAC usage (available in mono 0.91+, we do *not*
require this beta version though).
* There is new [Record] macro that adds record like constructor to given
class, there is no automatic constructor creation except for variant
* API for changing types from macros is being constantly reworked
* List.Member and the like instead of physical == equality use Equals()
* Several bugfixes, some critical, as usual.
Have a nice testing!
: Michal Moskal :: http://www.kernel.pl/~malekith :: GCS !tv h e>+++ b++
: ::: Logic is a nice contrast to the Real World. :: UL++++$ C++ E--- a?