1:- module(r, [r_initialize/0, r/1, r/2, r_source/2]).    2
    3:- use_module(library(rolog)).    4
    5:- dynamic r_initialized/0.    6
    7:- initialization(r_initialize).    8
    9% Initialize R, load some code into the base environment.
   10r_initialize,
   11    r_initialized
   12 => true.
   13
   14r_initialize
   15 => pack_property(interval, directory(Dir)),
   16    directory_file_path(Dir, 'R', Dir1),
   17    r_source(r, Dir1),
   18    assert(r_initialized).
   19
   20% Call R
   21r(Expr)
   22 => r_call(Expr).
   23
   24% Evaluate R expression
   25r(Expr, Res)
   26 => r_eval(Expr, Res).
   27
   28r_source(Name, Dir)
   29 => file_name_extension(Name, 'R', File),
   30    directory_file_path(Dir, File, Path),
   31    atom_string(Path, String),
   32    r(source(String))