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

Move applications inside Lets and Cases #1654

Closed
lukaszcz opened this issue Dec 6, 2022 · 0 comments · Fixed by #1659
Closed

Move applications inside Lets and Cases #1654

lukaszcz opened this issue Dec 6, 2022 · 0 comments · Fixed by #1659
Assignees
Labels
core Related to JuvixCore

Comments

@lukaszcz
Copy link
Collaborator

lukaszcz commented Dec 6, 2022

The translation from Core to Core.Stripped requires that only variables or function symbols be present at the head of an application.

We need to transform

(let x := M in N) Q

to

let x := M in N Q

and e.g.

(case M of { c1 x := N1; c2 x y := N2 }) Q

to

case M of { c1 x := N1 Q; c2 x y := N2 Q }
@lukaszcz lukaszcz added the core Related to JuvixCore label Dec 6, 2022
@lukaszcz lukaszcz added this to the 0.3 milestone Dec 6, 2022
@lukaszcz lukaszcz self-assigned this Dec 6, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
core Related to JuvixCore
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant