JavaConnect

Go to the dedicated JavaConnect page.

JavaConnect is a Visualworks Smalltalk library that allows a seamless interaction between Smalltalk and Java. A Smalltalk application can access any Java object and send messages to it, just as if it were a Smalltalk object. Its implementation relies on a connection between the Smalltalk environment and a standard Java VM environment using Visualworks' DLLCC and Java's JNI. The Java application thus executes on a regular Java VM and the Smalltalk application executes on the regular Smalltalk VM. If you want to know more about it, read our dedicated JavaConnect webpages.

JavaConnect was developed to enable SOUL to reason over Java programs without reimplementing many of the readily available Java libraries and utilities that exist for this purpose (such as Soot and the Eclipse JDT) in Smalltalk. Instead, JavaConnect makes these Java utilities and libraries available as Smalltalk libraries. JavaConnect was inspired by the JNIPort for Dolphin and JavaInSt work. The JNIPort now also has a Visualworks version, but we continue to maintain and develop JavaConnect for our abovementioned specific requirements. Nevertheless, you can use JavaConnect to communicate with any Java program.

SOUL

Go to the SOUL website

Roel Wuyts' Smalltalk Open Unification Language (SOUL) is a hybrid Prolog-Smalltalk language that allows reasoning over Smalltalk programs using symbiotic reflection. Since its original conception, it continuously evolves as the flagship tool of the declarative metaprogramming (DMP) research. You can visit the SOUL and DMP websites for more information about the language and the research topics respectively.

Penumbra

Go to the Penumbra page.

Penumbra is a Smalltalk library to communicate with the Eclipse JDT using JavaConnect. It has various plugins

Metaspin

Go the Squeaksource webpage of Metaspin

Metaspin is an interpreter for a continuation-based metamodel of aspect-oriented languages. It is implemented in Squeak Smalltalk and available on Squeaksource.