{ "schema": "ailang/v0", "name": "eq_primitives_smoke", "imports": [], "defs": [ { "kind": "fn", "name": "to_int", "doc": "1 if the bool is true, 0 otherwise. Used to render Eq results as printable Ints.", "type": { "k": "fn", "params": [{ "k": "con", "name": "Bool" }], "ret": { "k": "con", "name": "Int" }, "effects": [] }, "params": ["b"], "body": { "t": "if", "cond": { "t": "var", "name": "b" }, "then": { "t": "lit", "lit": { "kind": "int", "value": 1 } }, "else": { "t": "lit", "lit": { "kind": "int", "value": 0 } } } }, { "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": "to_int" }, "args": [{ "t": "app", "fn": { "t": "var", "name": "eq" }, "args": [ { "t": "lit", "lit": { "kind": "int", "value": 7 } }, { "t": "lit", "lit": { "kind": "int", "value": 7 } } ] }] }] }, "rhs": { "t": "seq", "lhs": { "t": "do", "op": "io/print_int", "args": [{ "t": "app", "fn": { "t": "var", "name": "to_int" }, "args": [{ "t": "app", "fn": { "t": "var", "name": "eq" }, "args": [ { "t": "lit", "lit": { "kind": "int", "value": 7 } }, { "t": "lit", "lit": { "kind": "int", "value": 8 } } ] }] }] }, "rhs": { "t": "seq", "lhs": { "t": "do", "op": "io/print_int", "args": [{ "t": "app", "fn": { "t": "var", "name": "to_int" }, "args": [{ "t": "app", "fn": { "t": "var", "name": "eq" }, "args": [ { "t": "lit", "lit": { "kind": "bool", "value": true } }, { "t": "lit", "lit": { "kind": "bool", "value": true } } ] }] }] }, "rhs": { "t": "seq", "lhs": { "t": "do", "op": "io/print_int", "args": [{ "t": "app", "fn": { "t": "var", "name": "to_int" }, "args": [{ "t": "app", "fn": { "t": "var", "name": "eq" }, "args": [ { "t": "lit", "lit": { "kind": "bool", "value": true } }, { "t": "lit", "lit": { "kind": "bool", "value": false } } ] }] }] }, "rhs": { "t": "seq", "lhs": { "t": "do", "op": "io/print_int", "args": [{ "t": "app", "fn": { "t": "var", "name": "to_int" }, "args": [{ "t": "app", "fn": { "t": "var", "name": "eq" }, "args": [ { "t": "lit", "lit": { "kind": "str", "value": "hello" } }, { "t": "lit", "lit": { "kind": "str", "value": "hello" } } ] }] }] }, "rhs": { "t": "do", "op": "io/print_int", "args": [{ "t": "app", "fn": { "t": "var", "name": "to_int" }, "args": [{ "t": "app", "fn": { "t": "var", "name": "eq" }, "args": [ { "t": "lit", "lit": { "kind": "str", "value": "hello" } }, { "t": "lit", "lit": { "kind": "str", "value": "world" } } ] }] }] } } } } } } } ] }