puti ::= fn(x: int) { #C("printf(\"%ld\\n\", (long)x); "); }; putf ::= fn(x: float) { #C("printf(\"%f\\n\", (double)x); "); }; // point ::= pkg "point"; // Foo ::= struct { // b: Bar; // }; // Bar ::= struct { // f: Foo; // }; Bar ::= struct { f: &Foo; }; Foo ::= struct { b: Bar; }; main ::= fn() { f::=fn(t::Type)Type {t}; x:f(int) = 5; z : fn(int, int,int, int,int, int,int, int,int, int,int, int,int, int,int, int,int, int,int, int,int, int,int, int,int, int,int, int,int, int,int, int,int, int,int, int,int, int,int, int,int, int,int, int,int, int,int, int,int, int,int, int,int, int,int, int,int, int,int, int,int, int,int, int,int, int,int, int,int, int,int, int,int, int)=5; };