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

Add LetRec to JuvixCore #1476

Closed
lukaszcz opened this issue Aug 22, 2022 · 0 comments · Fixed by #1507
Closed

Add LetRec to JuvixCore #1476

lukaszcz opened this issue Aug 22, 2022 · 0 comments · Fixed by #1507
Assignees
Labels
core Related to JuvixCore enhancement New feature or request

Comments

@lukaszcz
Copy link
Collaborator

lukaszcz commented Aug 22, 2022

Depends on PR #1421.

LetRec would be useful to implement "where" blocks and local/anonymous recursive functions.

A LetRec node would specify a block of local mutually recursive definitions:

letrec { 
  f1 := A1;
  f2 := A2;
  ...
  fn := An;
} in B

where all of f1, ..., fn may appear recursively in A1, ..., An

LetRec Node definition:

LetRec {letrecInfo :: Info, letrecValues :: NonEmpty Node, letrecBody :: Node}
@lukaszcz lukaszcz added enhancement New feature or request pending-review core Related to JuvixCore labels Aug 22, 2022
@lukaszcz lukaszcz self-assigned this Aug 22, 2022
@lukaszcz lukaszcz added this to the 0.3 milestone Aug 22, 2022
@lukaszcz lukaszcz changed the title Add LetRec to the Core Add LetRec to JuvixCore Aug 25, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
core Related to JuvixCore enhancement New feature or request
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant