Enso Compiler Improvements #532
Labels
--breaking
Important: a change that will break a public API or user-facing behaviour
p-lowest
Should be completed at some point
Summary
Although the Enso runtime now has a compiler front-end, that front-end is very much a stopgap solution that needs to be evolved to support much of the functionality planned for the future. This Epic exists to track tasks that deal with improving the compiler functionality of the Enso engine.
The core of the compiler is the
Core
language, a simplified and restricted form of Enso that is represented as a graph. This graph representation is far more amenable to analysis and transformation, and has robust support for other features such as typechecking.Value
These are miscellaneous improvements and will encompass things that improve performance to things that improve the API and everything in between.
Specification
AST
toCore
andCore
to the current IR type (Implement AST to Core Translation #531, Implement Core to AstExpression Translation #530).Core
toNode
using the current compiler machinery (Implement Core to Truffle Node Generation #526).removeComponent
to the Graph Library #512, Add Higher-Level Component Deletion to Core #511, Implement areplaceChild
Function for Core #510, Implement areplaceNode
Function for Core #509, Implement thedeleteSubgraph
Function for Core #508).TODO
comments in the core codebase as there are more not yet filed as issues.Acceptance Criteria & Test Cases
The text was updated successfully, but these errors were encountered: