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