LMNtal Java allows inline code written in Java, and SLIM allows LMNtal programs to call C functions.

*Foreign-Language Interface in Java


 inline_define atom
    [:/*inline_define*/ inline_define_code_in_Java :]
 inline atom
    [:/*inline*/ inline_code_in_Java :](X1,...,Xn)


The execution of inline code takes place
immediately after the rewriting task of the rule
that creates the inline atom is finished.

Defined variables:
 me .... the inline atom itself
 mem ... me.getMem() 


 [:/*inline_define*/class Foo { static int counter = 0; } :].

 % ==> prints LMNtal

 hello(X) :- [:/*inline*/
               Atom a = mem.newAtom(new Functor("ok",1));
 % ==> ok(there)

*Foreign-Language Interface in SLIM

SLIM allows LMNtal programs to call functions written in C.  The LMNtal atom
'$callback'('function_name', arg1, arg2, ...) calls the C function 'function_name' with the specified arguments.  Examples of callbacks can be found in the library programs located in the lib directory and the corresponding C functions can be found in the src/ext directory.

Front page List of pages Search Recent changes Backup   Help   RSS of recent changes