Simpler code, compiling without typing and faster compile times.
Context
The French Approach to type inference is mostly a way of doing type checking by splitting it in two steps, elaboration, where the typed tree is produced with "holes"(unification variables) and a constraint tree, then the constraints are solved, closing all the holes and
Here, the constraint tree is the same as the typed tree, but this may change in the future, this essentially means that we're just splitting the elaboration from checking, this leads to a simpler code and it also allows to compile Teika to JS without typing, as the types are not required for the backend.
Goals
Simpler code, compiling without typing and faster compile times.
Context
The French Approach to type inference is mostly a way of doing type checking by splitting it in two steps, elaboration, where the typed tree is produced with "holes"(unification variables) and a constraint tree, then the constraints are solved, closing all the holes and
Here, the constraint tree is the same as the typed tree, but this may change in the future, this essentially means that we're just splitting the elaboration from checking, this leads to a simpler code and it also allows to compile Teika to JS without typing, as the types are not required for the backend.
Related
199