65 lines
1.5 KiB
JSON
65 lines
1.5 KiB
JSON
{
|
|
"schema": "ailang/v0",
|
|
"name": "floats",
|
|
"imports": [],
|
|
"defs": [
|
|
{
|
|
"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_float",
|
|
"args": [
|
|
{
|
|
"t": "app",
|
|
"fn": { "t": "var", "name": "+" },
|
|
"args": [
|
|
{ "t": "lit", "lit": { "kind": "float", "bits": "3ff8000000000000" } },
|
|
{ "t": "lit", "lit": { "kind": "float", "bits": "4004000000000000" } }
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"rhs": {
|
|
"t": "seq",
|
|
"lhs": {
|
|
"t": "do",
|
|
"op": "io/print_float",
|
|
"args": [
|
|
{
|
|
"t": "app",
|
|
"fn": { "t": "var", "name": "int_to_float" },
|
|
"args": [
|
|
{ "t": "lit", "lit": { "kind": "int", "value": 42 } }
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"rhs": {
|
|
"t": "do",
|
|
"op": "io/print_float",
|
|
"args": [
|
|
{
|
|
"t": "app",
|
|
"fn": { "t": "var", "name": "neg" },
|
|
"args": [
|
|
{ "t": "lit", "lit": { "kind": "float", "bits": "3ff8000000000000" } }
|
|
]
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|