bondi (pronounced "bond-eye") is a programming language centred on pattern-matching . It supports functional, imperative, query-based and object-oriented programming styles using a single small evaluator.

bondi version 2.04 is now available!

Comments on 2.04 (released 2011-03-07):
bondi now supports "as" patterns and "where" clauses.

Comments on 2.02 (released 2010-06-24):
The evaluator has been rebuilt to take better advantage of Ocaml's garbage collection and imperative features.

Comments on 2.01 (released 2009-10-22)

bondi is written in ocaml . The tarball contains the source files and some examples, but no manual. An installation script has been provided, to simplify installation for linux and windows. All versions require GNU at this stage, primarily for gnu_readline. See the README for details.

Concurrent bondi

adds concurrency to bondi through pattern unification

One way of engaging with bondi is by checking out the material on pattern calculus and bondi examples. The book

Pattern Calculus

Computing with Functions and Structures

Barry Jay

can now be ordered from Springer. A half-day tutorial on bondi was given at DEFUN on 3rd September, 2009.

Comments can be directed to Barry Jay ( Enjoy!

bondi is named after a famous beach in Sydney, Australia. Here are some photos of it as the setting for Sculpture By The Sea.

Development of bondi is partially supported by the Centre for Quantum Computing and Intelligent Systems at University of Technology Sydney.