As Pnuts does not have a mechanism to define a "class", it is common to define class in Java and use from Pnuts. Such a distinction of responsibilities in a system is reasonable because communication between Pnuts and Java is quite easy.
But this principal does not always true. Some applications require to change a definition of classes at run time. In such case it is a problem that Java can not define a class at run time. The extensibilities of Pnuts helps to realize OO mechanism in itself.
The following two extensions for OO scripting are provided in the pnuts.ext package.
These are just sample implementations of OO mechanism. Users can provide their own mechanism by writing a plug-in module in Java.