summaryrefslogtreecommitdiff
path: root/test.toc
blob: 27db4a17029ab60867ce44a32d4712b268c05b21 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
puti ::= fn(x: int) {
	 #C("printf(\"%ld\\n\", x)");
};
putf ::= fn(x: float) {
	 #C("printf(\"%f\\n\", x)");
};

t ::= fn(a:: Type) Type {a};

f ::= fn(b::=, u::=, a:t(b), x:t(u)) int{
((3 as b) as u) as int
};

main ::= fn() {
	 x : t(int) = 3;
	 y : t(float) = 3.4;
	 puti(f(x,y));
};