[Mono-list] Nemerle 0.1.4 released

Michal Moskal malekith@pld-linux.org
Wed, 30 Jun 2004 18:02:57 +0200


The 0.1.4 source tarball of Nemerle compiler has hit our server.

Nemerle is a new hybrid (functional, object-oriented and imperative)
programming language for the .NET platform.

Key features of the language include:

    * simplicity
    * 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
    * variants
    * pattern matching
    * static and on-demand dynamic typing
    * type inference.

The source tarball can be downloaded from:

  http://nemerle.org/download/nemerle-0.1.4.tar.gz

and:

  http://nemerle.org/download/nemerle-0.1.4.tar.bz2

MSI, DEB and RPM packages (as well as the source tarball of course)
as usual from:

  http://nemerle.org/download.html

New features in this release include (from the NEWS file):

#v+
0.1.4, Jun 29 2004
  This is yet another incremental release before 0.2.0.

  The language:
    * The assignment operator <- has been changed to =. This was a long
      discussed issue. <- is still available, it will be deprecated in 
      0.2.0, and removed later. Please convert your sources, under Unix:
      
        perl -p -i -e 's/<-/=/g' *.n
	
      should do the trick.
    * The `;' is now optional after `}' in expressions. That is both:
    
        while (cond) { ... };
        foo ()
	
      and
      
        while (cond) { ... }
        foo ()
	
      are correct.
    * Expressions starting with keywords have now much lower priority.
      In particular:
      
        foo += fun (_) {...};
	
      needs to be now written like this:

        foo += (fun (_) {...});

      Sorry. This is however to be reconsidered.
    * 1_000_000 is now proper literal (like in Ada or Perl).
    * ref and out parameters are supported now.
    * try {...} catch {...} finally {...} is now proper code, 
      try { f () } catch {...} is too, but try f () catch {...} is not.

  The library:
    * Tuple and list types now provide proper ToString(), Equals() and 
      GetHashCode() methods.
    * List.Sort() was sorting in the opposite direction, we fixed that. Please
      update your sources.

  The compiler:
    * Some fixes to attribute support, in particular attribute classes
      can be defined and used in the same compilation.
    * Several new checks (like requiring implemented interface methods 
      to be public etc).
    * Several bugfixes.

  Other stuff:
    * Added examples written by students during Nemerle course. Some new
      OpenGL/SDL examples by Kamil.
#v-

Have fun testing it :-)

-- 
: 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?