- The added line is THIS COLOR.
- The deleted line is THIS COLOR.
[[Documentation]]
*Inline Code
*Inline Code for LMNtal Java
This section is subject to modification.
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)