aboutsummaryrefslogtreecommitdiff
path: root/frontend/compare_constructor.icl
blob: d92f9a9b3c1e79e8b4161072aed0b9ed7a718319 (plain) (blame)
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
implementation module compare_constructor;

equal_constructor :: !a !a ->Bool;
equal_constructor _ _ = code {
	.inline equal_constructor
		pushD_a 1
		pushD_a 0
		pop_a 2
		eqI
	.end
};

less_constructor :: !a !a ->Bool;
less_constructor _ _ = code {
	.inline less_constructor
		pushD_a 1
		pushD_a 0
		pop_a 2
		ltI
	.end
};

greater_constructor :: !a !a ->Bool;
greater_constructor _ _ = code {
	.inline greater_constructor
		pushD_a 1
		pushD_a 0
		pop_a 2
		gtI
	.end
};