Skip to content
The Boo Programming Language.
C# Java Boo GAP HTML C++ Other
Branch: master
Clone or download
Pull request Compare This branch is 155 commits behind boo-lang:master.
Type Name Latest commit message Commit time
Failed to load latest commit information.
.settings monolipse settings Apr 7, 2010
bin update binaries Oct 29, 2013
docs original boo manifesto pdf for posterity Sep 25, 2015
examples update examples to latest syntax Oct 4, 2010
extras Include from import in vim syntax Nov 19, 2012
gradle/wrapper gradle build script Oct 25, 2012
lib fixed bug in antlr csharp generator outputing AST related variables w… Nov 2, 2013
performance optimal operator implementation for string/char membership test Apr 20, 2011
scripts Merge pull request boo-lang#77 from drslump/mono-build-fixes Nov 4, 2013
src Merge pull request boo-lang#101 from lafar6502/master Sep 20, 2015
tests Fix circular inheritance check for sibling base types Oct 28, 2014
tools/RetargetAssembly dump RetargetAssembly version number now that [AssemblyVersion] is fr… Mar 25, 2013
.gitignore ignore Jun 10, 2013
.project monolipse support Jan 17, 2009
.travis.yml No need to target net-2.0 for msbuild task anymore Oct 28, 2013
AUTHORS Update the authors file Jul 24, 2008 Add some ghetto makefiles for people to create binary packages of boo… Apr 29, 2005 Update README with travis build status information Oct 20, 2013 Modified grammar to support safe access unary operator Nov 13, 2012
booc remove dependency to hard-coded ~/dotnet/ directory for building on Feb 16, 2007
booi remove dependency to hard-coded ~/dotnet/ directory for building on Feb 16, 2007
build.gradle read package version from version.txt Mar 25, 2013 use $libdir instead of `$prefix/lib' (patch by Paul Lange) Aug 3, 2009 Fix -D:skip.antlr=true Mar 25, 2015
gradlew gradle build script Oct 25, 2012
gradlew.bat gradle build script Oct 25, 2012
il remove dependency to hard-coded ~/dotnet/ directory for building on Feb 16, 2007
il.bat better slicing semantics for strings Sep 10, 2004
license.txt bin update after latest changes Oct 20, 2009 remove System.Core.dll dependency from Boo.Lang.dll for good by using… Jan 19, 2011
notice.txt bin update after latest changes Oct 20, 2009
settings.gradle make into a proper project and publish it … Dec 3, 2012
todo.txt todo cleanup May 17, 2010
version.txt move version number to version.txt so it can be read by both nant and… Mar 25, 2013

Build Status

The boo programming language (c) 2009 Rodrigo Barreto de Oliveira (


Just type:


to build the project.

nant test

will also run all the unit tests.

mono users might want to do this instead:

nant compile-tests && nunit-console tests/build/*Tests.dll	

to rebuild everything from scratch:

nant rebuild

the rebuild target will also cause the ast classes and parser to be regenerated (needs a java vm).

How to Start

For a brief description of the project and its goals take a look at docs/BooManifesto.sxw.

extras/boox contains a sweet little tool you can use to get yourself acquainted with the language.

src/ contains all the source code for the runtime and compiler components.

tests/ contains all the unit tests.

testcases/integration is a good source of information on the language features.

lib/ contains project dependencies such as antlr.

bin/ contains the latest version that passed all the tests and could be successfully used to rebuild the system.

Running and compiling code

To execute a boo script run:

booi <script> [args]

For instance:

booi examples/	

You can also have booi to read from stdin by typing:

booi -

You can generate .net assemblies by using booc (either the booc.exe utility or the booc nant task):

booc -output:build/hello.exe examples/	

If you want to simply see the transformations applied to your code by the compiler use the boo pipeline, run:

booc -p:boo examples/	

More Information



You can’t perform that action at this time.