[Mono-list] Nemerle 0.3.0 released
Timothy Graupmann
tgraupmann@yahoo.com
Sat, 30 Apr 2005 09:44:11 -0700 (PDT)
Just a quick question. What are some sample projects that use Nemerle? I've
never heard of it....
--- Michal Moskal <michal.moskal@gmail.com> wrote:
> Hip! Hip! Nemerle 0.3.0 is out there in the wild.
>
> This is the long awaited second milestone release (after 0.2.0 -- CLS
> consumer) with a new typing engine and a new parser.
>
> 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
> and type inference and parameter polymorphism (aka generics). Meta-system
> allows great compiler extensibility, embedding domain specific languages,
> partial evaluation and aspect-oriented programming.
>
> The source tarball can be downloaded from:
>
> http://nemerle.org/download/nemerle-0.3.0.tar.gz
>
> and:
>
> http://nemerle.org/download/nemerle-0.3.0.tar.bz2
>
> MSI, DEB and RPM packages (as well as the source tarball of course)
> as usual from:
>
> http://nemerle.org/download.html
>
> The binary packages may have a small lag to the source release.
>
> New features in this release include (from the NEWS file). This list can
> be also found nicely htmlized in a blog post:
>
> http://nemerle.org/blog/archive/2005/Mar-31.html
>
> 0.3.0, Apr 29 2005
> About 300 svn commits has been made since the last release.
>
> Additions:
> * The most important addition in this release are implicit conversions
> of several kinds.
> - We now respect user-defined op_Implicit (like the ones for
> Decimal type)
> - Functional values are implicitly converted to delegates.
> - when (...) 3; now gives a warning instead of error (about using
> implicit object->void conversion).
> - Last but not least, conversions are provided for built-in numeric
> types like int and long. They work much like in C#. Here is
> a picture about that:
> http://www.c-sharpcorner.com/Language/TypeConversionsInCSharpRVS.asp
> This also works in a kinda special way for literals. There might be
> some related bugs with constant folding though.
> * From the cute new features departments -- it is now possible to use
> pattern matching on properties, in addition to previous possibility
> of matching on fields.
> * Another nice addition are the P/Invoke methods.
> * The interactive interpreter -- nemerlish -- has been included in the
> default build and install.
> * Indentation engine in the emacs mode has been improved.
> * 'is' can be now used where 'matches' was. 'matches' shall be
> considered obsolete by now. It will give a warning in the next
> release.
> There is one drawback with this change. If you have been using
> a polymorphic variant (like x is Some) on the right hand side of
> 'matches' it won't work anymore. You either need to supply the type
> argument (x is Some [int]), you can use wildcard type (x is Some
> [_]), or make it a valid non-identifier pattern (x is Some (_),
> x is None ()).
> For the particular Some/None you can use freshly added
> IsSome/IsNone properties.
>
> Incompatible changes:
> * The arithmetic operators on types smaller than int now return int.
> This is the same behavior as in C (and C#).
> * Various matching optimization flags have been removed (they now
> print a warning). Boolean optimizations are now always enabled,
> while the other were buggy. Patches are welcome.
> * Progress bar is now disabled by default. You -bar+ switch to turn
> it on (we found people very often disable it, and it confuses
> emacs).
>
> Library:
> * List manipulation functions have been added to the list type itself.
>
> Bugfixes:
> * The MSI package now properly installs itself in the directory
> specified, not always in "c:/Program Files/Nemerle/".
>
> Fixed bugs from our bugtracker ( http://nemerle.org/bugs/ )
> * #007: Static variable initalization in metadata
> * #119: subtyping relation for numeric types
> * #138: matching on properties
> * #249: functions are not "boxed" to delegates
> * #256: Should we implicitly convert from DateTime to SqlDateTime
> * #284: a=b-1U; does not parse
> * #316: Allow PInvoke methods
> * #334: Custom operators are not looked up properly
> * #343: Algorithm for binding base classes is broken
> * #360: Inference engine loops compiler when parameter is used on
> itself as function
> * #364: support ++/-- overloads
> * #383: Assigning to variable with name of type
> * #390: Problems with the $-notation
> * #391: Explicit cast operator is not chosen when needed
> * #393: Using nested foreach crashes compiler.
> * #394: We do not check attribute targets
> * #395: Another meaningless error message
> * #396: ncc crashes during typing of foreach loop on N.C.Hashtable
> * #397: ICE when fixing type of local function
> * #398: return type is not checked in delayed overloads
> * #399: comparing with == against null shall not be special
> * #400: strange problem with delayed typings and overload resolution
> * #402: cannot use _ in keywords
> * #404: $ "$Name" doesn't work -- usesite problems
> * #406: Something is broken with expected return types
> * #407: Lambdas from embedded expressions crashes compiler
> * #414: comparing ,,result'' of mutable definition to null causes ICE
> * #418: Literal fields should be available in match patterns
> * #420: Nested types are not visible in derived class
> * #421: Add implicit conversion from 0 to any enum
> * #424: merge the literals branch
> * #431: Change 'matches' to 'is'
> * #432: ice with foo(){| _ => {}}
>
>
> --
> Michal Moskal,
> http://nemerle.org/~malekith/
> _______________________________________________
> Mono-list maillist - Mono-list@lists.ximian.com
> http://lists.ximian.com/mailman/listinfo/mono-list
>
__________________________________________________
Do You Yahoo!?
Tired of spam? Yahoo! Mail has the best spam protection around
http://mail.yahoo.com