iter 23.2.4: e2e smoke fixture + ir-shape integration tests for eq__T mono symbols

This commit is contained in:
2026-05-10 22:46:51 +02:00
parent be882c4ef8
commit 559e591ab2
3 changed files with 241 additions and 0 deletions
+147
View File
@@ -0,0 +1,147 @@
{
"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" } }
]
}]
}]
}
}
}
}
}
}
}
]
}