aboutsummaryrefslogtreecommitdiff
path: root/example.tsl
blob: 756f246074a0326a6b1ad0e2e0e22f784eb86f3f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
#!/usr/bin/env tsl

# loadn 1
# setv "value1"
value1 = 1

# loadn 2
# setv "value1"
value1 = 2

# loadb true
# setv "value2"
value2 = true

# loadnull
# setv "value3"
value3 = null

# loads "hello world"
# setv "value4"
value4 = "hello world"

# loadv "value4"
# loadn 0.000000
# index
# setv "c"
#c = value4[0]

# loads "hello"
# loads "world"
# loadn 5
# list 3
# setv "value5"
value5 = ["hello", "world", 5]

# loadv "value5"
# loadn 0
# index
# setv "list_index_value"
list_index_value = value5[0]

# loadn 1
# loadn 2
# loadv "list_index_value"
# list 3
# setv "list1"
list1 = [1, 2, list_index_value]

# loadn 3
# loadn 4
# list 2
# setv "list2"
list2 = [3, 4]

# loadv "list1"
# loadv "list2"
# add
# setv "list3"
list3 = list1 + list2

# loads "hello"
# loads "world"
# loads "value"
# loadn 23
# map 4
# setv "value6"
value6 = {"hello": "world", "value": 23}

# loads "hello"
# loads "world"
# loads "value"
# loadn 23
# map 4
# setv "value6_1"
value6_1 = {hello: "world", value: 23}

# loadf 1       // loadf1 begins at once, because the file body itself is function 0
# setv "value7"
value7 = fn () {}

# loadf 2
# setv "value8"
value8 = fn (value) {}

# loads "hello"
# loads "world"
# loads "sayHello"
# loadf 3
# map 4
# setv "value9"
value9 = {
    "hello": "world",
    "sayHello": fn {
        result = $(echo hello)
    }
}

# loadv "value9"
# loads "hello"
# index
# setv "str"
str = value9["hello"]

# loadv "value9"
# loads "sayHello"
# index
# callf 0
value9["sayHello"]()

# loadv "value1"
# loadn 23
# add
# setv "value1"
value1 = value1 + 23

# loads "world"
# setv "arg"
arg = "world"

# loads "echo"
# loads "hello"
# loadv "arg"
# callc 3
# setv "response"
response = $(echo hello $arg)
# compile error (empty command): $()