{ "schema": "ailang/v0", "name": "poly_id", "imports": [], "defs": [ { "kind": "fn", "name": "id", "type": { "k": "forall", "vars": ["a"], "body": { "k": "fn", "params": [{ "k": "var", "name": "a" }], "ret": { "k": "var", "name": "a" }, "effects": [] } }, "params": ["x"], "body": { "t": "var", "name": "x" } }, { "kind": "fn", "name": "main", "type": { "k": "fn", "params": [], "ret": { "k": "con", "name": "Unit" }, "effects": ["IO"] }, "params": [], "body": { "t": "seq", "lhs": { "t": "do", "op": "io/print_int", "args": [ { "t": "app", "fn": { "t": "var", "name": "id" }, "args": [ { "t": "lit", "lit": { "kind": "int", "value": 42 } } ] } ] }, "rhs": { "t": "do", "op": "io/print_bool", "args": [ { "t": "app", "fn": { "t": "var", "name": "id" }, "args": [ { "t": "lit", "lit": { "kind": "bool", "value": true } } ] } ] } } } ] }