Tako is an object-oriented programming language that looks a lot like Java. The big difference is that in Java a variable denotes a reference to an object, but in Tako a variable directly denotes an object. Programs written in Java and other traditional object-oriented languages often include a lot of aliasing, which can make reasoning about their programs rather painful. Tako avoids the most common sources of object-oriented aliasing by using a somewhat radical approach: Instead of assigning objects to variables by copying references, Tako uses swapping. It's a small syntactical shift, but the consequences are large. These web pages will give you some idea of the similarities and differences between Tako and traditional object-oriented languages.
You can download version 1.0 of the Tako compiler and try it for yourself, or you can visit the Tuna section of this web page and try using the Tuna components, which are Java 1.5 container classes that adhere to a few basic rules to help you avoid aliasing.
![]() |
![]() |
![]() |
|||||||||||||||||||||||||
![]() |
![]() |
||||||||||||||||||||||||||
![]() |
![]() |
||||||||||||||||||||||||||






