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

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



Something went wrong with that request. Please try again.