1#[allow(unused_imports)]
2use hlvm::function::{Fun, string, num, list};
3
4#[allow(dead_code, unused_variables)]
5fn main() {
6
7 let mut main = Fun::new()
8 .add_data(
9 Fun::new()
10 .store("m")
11 .add_data(
12 Fun::new()
13 .load("m")
14 .mul()
15 .as_value()
16 )
17 .as_value()
18 )
19 .store("multiply")
20
21 .add_data(num("2"))
22 .load("multiply")
23 .call_from_stack()
24 .store("double")
25
26 .add_data(num("3"))
27 .load("multiply")
28 .call_from_stack()
29 .store("triple")
30
31 .add_data(string("5 doubled is ")).print()
32 .add_data(num("5")).load("double")
33 .call_from_stack().println()
34
35 .add_data(string("7 doubled is ")).print()
36 .add_data(num("7")).load("double")
37 .call_from_stack().println()
38
39 .add_data(string("5 tripled is ")).print()
40 .add_data(num("5")).load("triple")
41 .call_from_stack().println()
42
43 .add_data(string("7 tripled is ")).print()
44 .add_data(num("7")).load("triple")
45 .call_from_stack().println();
46
47 main.run();
48}