builtin.sapl 957 Bytes
Newer Older
1
2
3
4
App1 !f a1 = f a1
App2 !f a1 a2 = f a1 a2
App3 !f a1 a2 a3 = f a1 a2 a3
App4 !f a1 a2 a3 a4 = f a1 a2 a3 a4
Laszlo Domoszlai's avatar
Laszlo Domoszlai committed
5
6
7
App5 !f a1 a2 a3 a4 a5 = f a1 a2 a3 a4 a5

:: _Tuple2 = _Tuple2 a b
8
9
:: _Tuple3 = _Tuple3 a b c
:: _Tuple4 = _Tuple4 a b c d
Laszlo Domoszlai's avatar
Laszlo Domoszlai committed
10
11
12
13

string_usize !str = _Tuple2 (string_size str) str
string_uselect !str !pos::I = _Tuple2 (string_select str pos) str
string_replace !str !idx::I !ch::C = _Tuple2 (string_select str idx) (string_update str idx ch)
Laszlo Domoszlai's avatar
Laszlo Domoszlai committed
14
15

second !f !s = s
16
17
18
19
20
21
22
23
24
25
26
trace !str a = second (_trace str) a 

tupsels2v0 !t = select t (_Tuple2 a0 a1 -> a0)
tupsels2v1 !t = select t (_Tuple2 a0 a1 -> a1)
tupsels3v0 !t = select t (_Tuple3 a0 a1 a2 -> a0)
tupsels3v1 !t = select t (_Tuple3 a0 a1 a2 -> a1)
tupsels3v2 !t = select t (_Tuple3 a0 a1 a2 -> a2)
tupsels4v0 !t = select t (_Tuple4 a0 a1 a2 a3 -> a0)
tupsels4v1 !t = select t (_Tuple4 a0 a1 a2 a3 -> a1)
tupsels4v2 !t = select t (_Tuple4 a0 a1 a2 a3 -> a2)
tupsels4v3 !t = select t (_Tuple4 a0 a1 a2 a3 -> a3)