Blog from Jan 21, 2011

Boo 0.9.4 is here

It's been a long year since the last release but the wait is finally over: Boo 0.9.4 is here!

It's a release packed full of features, improvements and bug fixes:

  • ~4x shorter compilation times
  • support for partial interfaces ( and enums (
  • support for typed collection initializers ( and
  • much improved Linq extension method support including type inference for closures (
    • System.Core.dll is now referenced by default, import System.Linq.Enumerable and Linq away
  • 'new' keyword for explicit shadowing of inherited members (
  • initial support for .Net 4.0
  • loads of metaprogramming improvements
  • type inference for empty arrays will take their usage into account (
  • cast function has been deprecated by the introduction of the new cast operator (e cast type)
  • ifdef macro for conditional compilation (
  • simple identifier interpolation: "Hello, $name!"
  • for consistency interpolation now uses () instead of {} for complex expressions ("2+2: $(2 + 2)" instead of "2+2: ${2 + 2}")
  • automatic stubbing of inherited abstract generic methods (
  • proper support for partial classes containing nested types (
  • fixed matrix builtin on .net (broken by a System.Reflection.Emit bug)
  • better report of ambiguous generic type reference errors
  • fix for shortcircuited expressions involving implicit bool conversion operators
  • and many many more...

Kudos to all that contributed to this release throughout the year specially: Квасов Роман, Ryan Boggs, Dmitry Malyshev, Maksym Trushyn, Daniel Grunwald, Cedric Vivier, Spruce Weber, socrates877, rektide, George Dernovoy, Benjamin Reed and JB Evain.

As usual the packages can be download from:;O=D

A new MonoDevelop addin is also available and can be installed from the Community Add-in Repository: