Boo is a new object oriented statically typed programming language for the Common Language Infrastructure with a python inspired syntax and a special focus on language and compiler extensibility.
Getting started
- Warm up by reading the boo manifesto
- Download the latest distro or get the latest sources
- Check out some cool language features and the language reference.
- Learn how to edit, how to run and how to compile boo programs
- You might also be interested in building boo yourself
- Consider joining one of the mailing lists or the Boo Newsgroup
- Read and contribute some boo recipes and tutorials.
- boo enthusiasts hang out in the #boo IRC channel.
- Try the boo add-in for the free SharpDevelop IDE.
- Check out some applications coded in boo.
News
Thanks to the effort of a few brave contributors the documentation is being moved to the github wiki where we can have more control over it and also make it easier for other contributors to help.
Be sure to check it out!
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 (http://goo.gl/k5f16) and enums (http://goo.gl/LgiLC)
- support for typed collection initializers (http://goo.gl/vNH1R and http://goo.gl/pfd9x)
- much improved Linq extension method support including type inference for closures (https://gist.github.com/618168)
- System.Core.dll is now referenced by default, import System.Linq.Enumerable and Linq away
- 'new' keyword for explicit shadowing of inherited members (http://goo.gl/kQKrw)
- initial support for .Net 4.0
- loads of metaprogramming improvements
- macro application over type members (http://goo.gl/0GXaE)
- support for macros yielding partial types (http://goo.gl/Dzmq6)
- much improved Boo.Lang.PatternMatching
- much improved quasiquotation and splicing support (http://goo.gl/WuOVd - http://goo.gl/NbOAU - ...)
- meta methods can now expand to code containing macros (http://goo.gl/FIcpc)
- better support for block quasiquotation ("block:" trick no longer needed when quasiquoting a complex sequence of statements) (http://goo.gl/2IbSb)
- type inference for empty arrays will take their usage into account (http://goo.gl/FJMST)
- cast function has been deprecated by the introduction of the new cast operator (e cast type)
- ifdef macro for conditional compilation (http://goo.gl/RJgZM)
- 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 (http://goo.gl/gn1WV)
- proper support for partial classes containing nested types (http://goo.gl/ixmt0)
- 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:
http://dist.codehaus.org/boo/distributions/?C=M;O=D
A new MonoDevelop addin is also available and can be installed from the Community Add-in Repository:
http://addins.monodevelop.com/
Enjoy!
Boo 0.9.3 fixes a lot of bugs and extends the match macro with support for regular expressions with variable binding.
Thanks to Martinho Fernandes it's now possible to write code like this::
Kudos also to Andre Van Der Merwe, Cedric Vivier, Gotz Washck and Richard Hubers for contributing to this release!
Complete change log is here and as usual you can download it from here.
Happy 2010!
Bamboo would like to thank
- Georges Benatti who always believed the idea, thanks man!
- Carlinhos for always being there
- cv for being so enthusiastic and introducing the project to the hausmates
- the hausmates for such a warm welcome and the great infrastructure
- Terence Parr for the great ANTLR tool along with all the people who hang on the ANTLR group
- The guys from the Mono Brasil project
- Guido van Rossum for coming up with such a great language that eventually served me as inspiration to start this project
- The one who supported me all the way through this last 10 years: I love you, Ma!
