[[Documentation]]
//[[Documentation]]

*Inline Code for LMNtal Java

LMNtal Java allows inline code in Java.

Note: SLIM (LMNtal in C) will provide
foreign-language interface in a different form.

**Syntax

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

**Specification

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() 

**Examples

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

 [:/*inline*/System.out.println(me.nthAtom(0).getName());
             me.remove();
             me.nthAtom(0).remove();:]("LMNtal\n")
 % ==> prints LMNtal

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



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