TyRuBa Homepage


SourceForge Logo

What is TyRuBa?

TyRuBa is a logic-meta-programming system which was designed to be used for generating Java code. It was implemented as part of my Ph.D. work as a system to experiment with the idea of type-oriented logic meta programming. TyRuBa's name derives from this origin, it is an acronym for 'Type Rule Base'. However, the system has no specific built-in features which make it focus on types. Rather it is a general, simple logic programming language with a few peculiarities to facilitate the manipulation of Java code for the purpose of code generation.

TyRuBa Generation 2 (versions 6.x and beyond): major changes since version 5.x

The TyRuBa logic programming language has undergone major changes since its last publicly released version. Changes to the language are of the extent that for a brief time I considered changing TyRuBa's name. In some sense it is not the same language anymore and it is unfortunatley not backward compatible. I think that most code however can be ported relatively easily to the new version if it did not rely extensively on some of the higher order programming features. The higher order programming features are no longer supported in the new language. They are useful at times, but were sacrificed for the sake of efficiency and to simplify the implementation of more advanced type and mode checking which are described in some detail in the revised tutorial.

New features in TyRuBa 6.x versions:

Good old TyRuBa 5.x features retained in 6.x

Feature no longer supported:

Example Code

Most example code has not been ported yet to 6.x versions.

More Reading Material

Some other material available for reading more about TyRuBa:

Download TyRuBa

TyRuBa is being distributed under the terms and conditions of the BSD open-source license. TyRuBa is now hosted by sourceforge. For downloads, mailing lists, bug reports etc. please visit tyruba's project page on sourceforge.

Older versions of TyRuBa can be downloaded from the Programming Technology Lab's ftp-site.


If you have any questions or comments I am eager to here them, so send me a message at: kdvolder@cs.ubc.ca or post a message on the tyruba mailing lists on sourceforge.


Kris De Volder < kdvolder@cs.ubc.ca>