1:- module(r,
2 [
3 r_initialize/1,
4 r_close/1,
5 r/1,
6 r/2,
7 r_source/2
8 ]). 9
10:- use_module(library(rs_rolog)). 11
12:- dynamic initialized/0, initialized/1. 13
14:- initialization(r_initialize). 15
17r_initialize,
18 initialized
19 => true.
20
21r_initialize
22 => pack_property(interval, directory(Dir)),
23 directory_file_path(Dir, 'R', Dir1),
24 r_source(r, Dir1),
25 assert(initialized).
26
27r_initialize(Session),
28 initialized(Session)
29 => true.
30
31r_initialize(Session)
32 => rs_init(Session),
33 pack_property(interval, directory(Dir)),
34 directory_file_path(Dir, 'R', Dir1),
35 r_source(r, Dir1),
36 assert(initialized(Session)).
37
38r_close(Session),
39 initialized
40 => rs_close(Session).
41
42r_close(_)
43 => true.
44
46r(Expr)
47 => rx_call(Expr).
48
50r(Expr, Res)
51 => rx_eval(Expr, Res).
52
53r_source(Name, Dir)
54 => file_name_extension(Name, 'R', File),
55 directory_file_path(Dir, File, Path),
56 atom_string(Path, String),
57 r(source(String))