Accessing RTL symbols

This commit is contained in:
Michael Schimmel
2025-10-09 10:54:37 +02:00
parent e0c4cf7ee4
commit b4a3595ae4
+701
View File
@@ -541,5 +541,706 @@
}
]
}
},
"linear-regression": {
"NodeType": "LambdaExpr",
"Parameters": [
{
"NodeType": "Identifier",
"Name": "x-series"
},
{
"NodeType": "Identifier",
"Name": "y-series"
}
],
"Body": {
"NodeType": "Block",
"Expressions": [
{
"NodeType": "VarDecl",
"Identifier": {
"NodeType": "Identifier",
"Name": "series-count"
},
"Initializer": {
"NodeType": "LambdaExpr",
"Parameters": [
{
"NodeType": "Identifier",
"Name": "series"
}
],
"Body": {
"NodeType": "FunctionCall",
"Callee": {
"NodeType": "Identifier",
"Name": "Reduce"
},
"Arguments": [
{
"NodeType": "Identifier",
"Name": "series"
},
{
"NodeType": "Constant",
"Value": {
"Kind": "Scalar",
"Value": {
"Kind": "Ordinal",
"Value": 0
}
}
},
{
"NodeType": "LambdaExpr",
"Parameters": [
{
"NodeType": "Identifier",
"Name": "acc"
},
{
"NodeType": "Identifier",
"Name": "item"
}
],
"Body": {
"NodeType": "FunctionCall",
"Callee": {
"NodeType": "Identifier",
"Name": "+"
},
"Arguments": [
{
"NodeType": "Identifier",
"Name": "acc"
},
{
"NodeType": "Constant",
"Value": {
"Kind": "Scalar",
"Value": {
"Kind": "Ordinal",
"Value": 1
}
}
}
]
}
}
]
}
}
},
{
"NodeType": "VarDecl",
"Identifier": {
"NodeType": "Identifier",
"Name": "sum-product"
},
"Initializer": {
"NodeType": "LambdaExpr",
"Parameters": [
{
"NodeType": "Identifier",
"Name": "xs"
},
{
"NodeType": "Identifier",
"Name": "ys"
}
],
"Body": {
"NodeType": "Block",
"Expressions": [
{
"NodeType": "VarDecl",
"Identifier": {
"NodeType": "Identifier",
"Name": "loop"
},
"Initializer": {
"NodeType": "LambdaExpr",
"Parameters": [
{
"NodeType": "Identifier",
"Name": "i"
},
{
"NodeType": "Identifier",
"Name": "acc"
}
],
"Body": {
"NodeType": "IfExpr",
"Condition": {
"NodeType": "FunctionCall",
"Callee": {
"NodeType": "Identifier",
"Name": "="
},
"Arguments": [
{
"NodeType": "Identifier",
"Name": "i"
},
{
"NodeType": "FunctionCall",
"Callee": {
"NodeType": "Identifier",
"Name": "series-count"
},
"Arguments": [
{
"NodeType": "Identifier",
"Name": "xs"
}
]
}
]
},
"ThenBranch": {
"NodeType": "Identifier",
"Name": "acc"
},
"ElseBranch": {
"NodeType": "Recur",
"Arguments": [
{
"NodeType": "FunctionCall",
"Callee": {
"NodeType": "Identifier",
"Name": "+"
},
"Arguments": [
{
"NodeType": "Identifier",
"Name": "i"
},
{
"NodeType": "Constant",
"Value": {
"Kind": "Scalar",
"Value": {
"Kind": "Ordinal",
"Value": 1
}
}
}
]
},
{
"NodeType": "FunctionCall",
"Callee": {
"NodeType": "Identifier",
"Name": "+"
},
"Arguments": [
{
"NodeType": "Identifier",
"Name": "acc"
},
{
"NodeType": "FunctionCall",
"Callee": {
"NodeType": "Identifier",
"Name": "*"
},
"Arguments": [
{
"NodeType": "Indexer",
"Base": {
"NodeType": "Identifier",
"Name": "xs"
},
"Index": {
"NodeType": "Identifier",
"Name": "i"
}
},
{
"NodeType": "Indexer",
"Base": {
"NodeType": "Identifier",
"Name": "ys"
},
"Index": {
"NodeType": "Identifier",
"Name": "i"
}
}
]
}
]
}
]
}
}
}
},
{
"NodeType": "FunctionCall",
"Callee": {
"NodeType": "Identifier",
"Name": "loop"
},
"Arguments": [
{
"NodeType": "Constant",
"Value": {
"Kind": "Scalar",
"Value": {
"Kind": "Ordinal",
"Value": 0
}
}
},
{
"NodeType": "Constant",
"Value": {
"Kind": "Scalar",
"Value": {
"Kind": "Ordinal",
"Value": 0
}
}
}
]
}
]
}
}
},
{
"NodeType": "VarDecl",
"Identifier": {
"NodeType": "Identifier",
"Name": "n"
},
"Initializer": {
"NodeType": "FunctionCall",
"Callee": {
"NodeType": "Identifier",
"Name": "series-count"
},
"Arguments": [
{
"NodeType": "Identifier",
"Name": "x-series"
}
]
}
},
{
"NodeType": "VarDecl",
"Identifier": {
"NodeType": "Identifier",
"Name": "sum-x"
},
"Initializer": {
"NodeType": "FunctionCall",
"Callee": {
"NodeType": "Identifier",
"Name": "Reduce"
},
"Arguments": [
{
"NodeType": "Identifier",
"Name": "x-series"
},
{
"NodeType": "Constant",
"Value": {
"Kind": "Scalar",
"Value": {
"Kind": "Ordinal",
"Value": 0
}
}
},
{
"NodeType": "Identifier",
"Name": "+"
}
]
}
},
{
"NodeType": "VarDecl",
"Identifier": {
"NodeType": "Identifier",
"Name": "sum-y"
},
"Initializer": {
"NodeType": "FunctionCall",
"Callee": {
"NodeType": "Identifier",
"Name": "Reduce"
},
"Arguments": [
{
"NodeType": "Identifier",
"Name": "y-series"
},
{
"NodeType": "Constant",
"Value": {
"Kind": "Scalar",
"Value": {
"Kind": "Ordinal",
"Value": 0
}
}
},
{
"NodeType": "Identifier",
"Name": "+"
}
]
}
},
{
"NodeType": "VarDecl",
"Identifier": {
"NodeType": "Identifier",
"Name": "sum-x-sq"
},
"Initializer": {
"NodeType": "FunctionCall",
"Callee": {
"NodeType": "Identifier",
"Name": "Reduce"
},
"Arguments": [
{
"NodeType": "FunctionCall",
"Callee": {
"NodeType": "Identifier",
"Name": "Map"
},
"Arguments": [
{
"NodeType": "Identifier",
"Name": "x-series"
},
{
"NodeType": "LambdaExpr",
"Parameters": [
{
"NodeType": "Identifier",
"Name": "x"
}
],
"Body": {
"NodeType": "FunctionCall",
"Callee": {
"NodeType": "Identifier",
"Name": "*"
},
"Arguments": [
{
"NodeType": "Identifier",
"Name": "x"
},
{
"NodeType": "Identifier",
"Name": "x"
}
]
}
}
]
},
{
"NodeType": "Constant",
"Value": {
"Kind": "Scalar",
"Value": {
"Kind": "Ordinal",
"Value": 0
}
}
},
{
"NodeType": "Identifier",
"Name": "+"
}
]
}
},
{
"NodeType": "VarDecl",
"Identifier": {
"NodeType": "Identifier",
"Name": "sum-xy"
},
"Initializer": {
"NodeType": "FunctionCall",
"Callee": {
"NodeType": "Identifier",
"Name": "sum-product"
},
"Arguments": [
{
"NodeType": "Identifier",
"Name": "x-series"
},
{
"NodeType": "Identifier",
"Name": "y-series"
}
]
}
},
{
"NodeType": "VarDecl",
"Identifier": {
"NodeType": "Identifier",
"Name": "m-numerator"
},
"Initializer": {
"NodeType": "FunctionCall",
"Callee": {
"NodeType": "Identifier",
"Name": "-"
},
"Arguments": [
{
"NodeType": "FunctionCall",
"Callee": {
"NodeType": "Identifier",
"Name": "*"
},
"Arguments": [
{
"NodeType": "Identifier",
"Name": "n"
},
{
"NodeType": "Identifier",
"Name": "sum-xy"
}
]
},
{
"NodeType": "FunctionCall",
"Callee": {
"NodeType": "Identifier",
"Name": "*"
},
"Arguments": [
{
"NodeType": "Identifier",
"Name": "sum-x"
},
{
"NodeType": "Identifier",
"Name": "sum-y"
}
]
}
]
}
},
{
"NodeType": "VarDecl",
"Identifier": {
"NodeType": "Identifier",
"Name": "m-denominator"
},
"Initializer": {
"NodeType": "FunctionCall",
"Callee": {
"NodeType": "Identifier",
"Name": "-"
},
"Arguments": [
{
"NodeType": "FunctionCall",
"Callee": {
"NodeType": "Identifier",
"Name": "*"
},
"Arguments": [
{
"NodeType": "Identifier",
"Name": "n"
},
{
"NodeType": "Identifier",
"Name": "sum-x-sq"
}
]
},
{
"NodeType": "FunctionCall",
"Callee": {
"NodeType": "Identifier",
"Name": "*"
},
"Arguments": [
{
"NodeType": "Identifier",
"Name": "sum-x"
},
{
"NodeType": "Identifier",
"Name": "sum-x"
}
]
}
]
}
},
{
"NodeType": "VarDecl",
"Identifier": {
"NodeType": "Identifier",
"Name": "m"
},
"Initializer": {
"NodeType": "FunctionCall",
"Callee": {
"NodeType": "Identifier",
"Name": "/"
},
"Arguments": [
{
"NodeType": "Identifier",
"Name": "m-numerator"
},
{
"NodeType": "Identifier",
"Name": "m-denominator"
}
]
}
},
{
"NodeType": "VarDecl",
"Identifier": {
"NodeType": "Identifier",
"Name": "mean-x"
},
"Initializer": {
"NodeType": "FunctionCall",
"Callee": {
"NodeType": "Identifier",
"Name": "/"
},
"Arguments": [
{
"NodeType": "Identifier",
"Name": "sum-x"
},
{
"NodeType": "Identifier",
"Name": "n"
}
]
}
},
{
"NodeType": "VarDecl",
"Identifier": {
"NodeType": "Identifier",
"Name": "mean-y"
},
"Initializer": {
"NodeType": "FunctionCall",
"Callee": {
"NodeType": "Identifier",
"Name": "/"
},
"Arguments": [
{
"NodeType": "Identifier",
"Name": "sum-y"
},
{
"NodeType": "Identifier",
"Name": "n"
}
]
}
},
{
"NodeType": "VarDecl",
"Identifier": {
"NodeType": "Identifier",
"Name": "b"
},
"Initializer": {
"NodeType": "FunctionCall",
"Callee": {
"NodeType": "Identifier",
"Name": "-"
},
"Arguments": [
{
"NodeType": "Identifier",
"Name": "mean-y"
},
{
"NodeType": "FunctionCall",
"Callee": {
"NodeType": "Identifier",
"Name": "*"
},
"Arguments": [
{
"NodeType": "Identifier",
"Name": "m"
},
{
"NodeType": "Identifier",
"Name": "mean-x"
}
]
}
]
}
},
{
"NodeType": "LambdaExpr",
"Parameters": [
{
"NodeType": "Identifier",
"Name": "x"
}
],
"Body": {
"NodeType": "FunctionCall",
"Callee": {
"NodeType": "Identifier",
"Name": "+"
},
"Arguments": [
{
"NodeType": "FunctionCall",
"Callee": {
"NodeType": "Identifier",
"Name": "*"
},
"Arguments": [
{
"NodeType": "Identifier",
"Name": "m"
},
{
"NodeType": "Identifier",
"Name": "x"
}
]
},
{
"NodeType": "Identifier",
"Name": "b"
}
]
}
}
]
}
}
}