Skip to content

Lifting uncompilable expressions #145

@Ailrun

Description

@Ailrun

Is your feature request related to a problem? Please describe.
The G-Machine transpiler cannot compile a few expressions:

  • partially applied data constructor expressions
  • let expressions in non-strict context
  • match expressions in non-strict context
  • lambda expressions

Those expressions cannot be compiled without extra steps like a lifting step for those expressions. Such a lifting step is not hard to implement, and it helps us to limit the types of runtime heap nodes. miniCUTE already implements a lambda lifting function, but it is only a part of aforementioned expressions.

By implementing this we can also close #57.

Describe the solution you'd like
Implementing lifting functions for other uncompilable expressions.

Metadata

Metadata

Assignees

Labels

discussionThis issue or pull request is under a discussionenhancementNew feature or request

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions