-
Why? Because we need to provide good error messages and, in order to show the error location, we need this information.
-
How? Each node must have the following additional information:
type SourceMappable :- %{
start: number,
end: number,
loc: %{
start: %{ line: number, column: number },
end: %{ line: number, column: number }
}
}
-
Why? Because currently is very hard to debug AST nodes
-
How? We can generate JSON from the AST and use a formatter tool. Requires research.
- Why? Because we currently are able to infer only types from pure expressions
- Why? Because we need to allow importing modules and types