Poniżej przestawiam prosty przykład mocno inspirowany tutorialem do JPL. Probując wywołać predykat Prologa z kodu Javy posługujemy się następującą składnią :
Query q2 = new Query( "child_of", new Term[] {new Atom("joe"),new Atom("ralf")} ); System.out.println( "child_of(joe,ralf) is " + ( q2.query() ? "provable" : "not provable" ) );
Przykład pokazuje przesłanie zapytania do bazy wiedzy prologa. Można ten mechanizm wykorzystać do wywoływania predykatów wewnątrz obiektów LogTalk, czyli de facto do wywoływania metod na obiektach LogTalk z obiektów Java'y.
Gdy konieczne jest wysłanie komunikatu do obiektu Java'y z poziomu Prologa, JPL oferuje następujące rozwiązanie :
Predykat jpl_new/3 pozwala na utworzenie instancji obiektu klasy z Javy :
jpl_new( 'javax.swing.JFrame', ['frame with dialog'], F)
Natomiast predykat jpl_call/4 pozwala wywołać metodę na utworzonym powyżej obiekcie:
jpl_call( F, setVisible, [@(true)], _)
Jak widać JPL umożliwia obustronne wywoływanie metod pomiędzy obiektami klas zdefiniowanych w Javie i logiką opisaną w Prologu.