Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Implement Core to AstExpression Translation #530

Closed
iamrecursion opened this issue Nov 6, 2019 · 0 comments
Closed

Implement Core to AstExpression Translation #530

iamrecursion opened this issue Nov 6, 2019 · 0 comments
Assignees
Labels
--breaking Important: a change that will break a public API or user-facing behaviour p-medium Should be completed in the next few sprints

Comments

@iamrecursion
Copy link
Contributor

Summary

In order to reconnect core to the working interpreter, we need to implement a generator for the old compiler's IR type from Core.

Value

We have introduced Core into the mix while still having a working interpreter, allowing us to start to move the existing analysis into well-principled passes on the new core language.

Specification

  • Using existing machinery from luna-package fails to compile on Windows #276, translate the new Core representation to the current IR.
  • This translation should be done at a high level of abstraction using Core.Sugar constructs directly. While this can't persist permanently, it is good enough for now.
  • No semantic information should be lost (for supported constructs).

Acceptance Criteria & Test Cases

  • Core can be translated into the old compiler IR.
  • No tests are necessary as this process will go away soon.
@iamrecursion iamrecursion self-assigned this Nov 6, 2019
@iamrecursion iamrecursion transferred this issue from another repository Jun 23, 2020
@joenash joenash added Category: Compiler --breaking Important: a change that will break a public API or user-facing behaviour p-medium Should be completed in the next few sprints labels Jun 23, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
--breaking Important: a change that will break a public API or user-facing behaviour p-medium Should be completed in the next few sprints
Projects
None yet
Development

No branches or pull requests

2 participants