This release brings the long-awaited indentation syntax and a few
bugfixes.
About 150 SVN commits were made since the last release.
Availability
As usual we provide a source code release and a number of binary
packages. Starting with this release we provide a generic Unix binary
installer, similar to the one Mono has (but text-mode only). RPM and
MSI packages are also ready. DEB package is on its way.
Language changes
With the -i option compiler can now recognize indentation based syntax.
More info at
the wiki page.
Additions
- MSBuild task.
- Marcin Grzeskowiak contributed a new matching compiler as a part
of his MSc thesis. It is not yet enabled by default, as we're
still testing it. You can try it with -new-matching option,
but beware -- it can still contain some nasty bugs!
The library
- Logging and accessor macros were improved.
- Group is now also a member of the list variant.
Bugfixes
- #520: indentation based syntax
- #521: high memory usage when compiling mcs tests
- #528: runtime assertion failure w/respect to generics
- #530: antlr dll isn't compatible with mono 1.1.9
- #531: Using generic method inside try-block fails to compile
- #532: assertion failed in file typing/Subst.n, line 184
- #533: Error using quoted events
- #535: Double try in local function optimized to code causes error
- #537: Verification fails for nondesc-subseq.n
- #539: Failed CheckSTV with monad code
- #540: Using void as generic argument causes invalid IL
- #541: Requires macro do not work for property setter
- #542: Logging macros should allow various logging functions to be
used (and other improvements)
- #543: Compiler gives internal error when trying to output into invalid
directory
- #544: .NET do not understand 'a ---> 'b implicit conversions
- #551: { } brackets in string interpolation crash compiler
- #553: Preprocessor symbols accessible from macros API
- #554: Assertion about unsupported type for a complex generic hierarchy
There should be no user-side changes with the new matching compiler, so there is no user-side documentation.
As for the implementation this is a fairly standard decision trees approach. Have a look at the mailing list archives for details.
I hope this helps.