You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Basically we should distinguish two kinds of classes
Simple/classical classes, similar to what one would define in Java. These can generally be moved around and lifted.
Complex/first-class classes, which can extend arbitrary expressions and whose extension clauses can refer to local variables
We should reorder the former and place them at the top according to the inheritance topology, avoiding forward reference/initialization problems.
Relevant code from the old compiler:
Basically we should distinguish two kinds of classes
We should reorder the former and place them at the top according to the inheritance topology, avoiding forward reference/initialization problems.
Relevant code from the old compiler:
mlscript/shared/src/main/scala/mlscript/JSBackend.scala
Lines 1331 to 1347 in a7504bb
Example of the latter, which we would require to use the
let class
construct, would be:The distinction between these two kinds of classes is notably important in the context of the class lifer.
The text was updated successfully, but these errors were encountered: