-
Notifications
You must be signed in to change notification settings - Fork 57
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
New compilation pipeline #1832
Merged
Merged
New compilation pipeline #1832
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
e903bb0
to
dacd288
Compare
4fb7035
to
affe32e
Compare
aac7a77
to
45f7e13
Compare
765d318
to
2fa08e8
Compare
This was referenced Mar 2, 2023
This was referenced Mar 6, 2023
Merged
d6c84d5
to
f167fba
Compare
Inference (strongNormalise) now requires State FunctionsTable
janmasrovira
approved these changes
Mar 14, 2023
janmasrovira
pushed a commit
that referenced
this pull request
Mar 14, 2023
lukaszcz
added a commit
that referenced
this pull request
Mar 15, 2023
Print JuvixCore InfoTable in such a way that it can be parsed back by the JuvixCore parser. * Depends on PR #1832 * Depends on PR #1862 * Closes #1841 * Adds "JuvixCore print" tests which read the files from Core/positive/*.jvc, print them, read them back and check if the evaluation results are preserved. --------- Co-authored-by: Jan Mas Rovira <[email protected]>
lukaszcz
added a commit
that referenced
this pull request
Mar 20, 2023
* Depends on #1832 * Closes #1844 * Adds errors to the Core pipeline * Checks for no recursion in the GEB pipeline * Checks for no polymorphism in the GEB pipeline * Checks for no dynamic type in the GEB pipeline * Checks for no IO in the GEB pipeline * Checks for no unsupported builtins in the GEB pipeline
jonaprieto
added a commit
that referenced
this pull request
Mar 27, 2023
This PR adds testing for the core-to-geb translation. It works as follows: 1. Parse the Juvix Core file. 2. Prepare the Juvix Core node for translation to Geb. 3. Translate the Juvix Core node to Geb. 5. Perform type checking on the translated Geb node to ensure that the types from the core node make sense in the Geb context and avoid any Geb runtime errors. 6. Evaluate the Juvix Core node to see if it produces the expected result. 7. Translate the result of the evaluated Juvix Core node to Geb for comparison with the expected output later. 8. Compare the result of the evaluation of the Geb term produced in step 3 with the result of the evaluation of the Geb term produced in step 6 to ensure consistency. 9. If step 8 succeeds, then compare the output of step 6 (the evaluation of the core node) with the expected output (given in Geb format) to ensure that the program is functioning as intended. This PR goes after: - #1863 and #1832
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
asm
backend:c
CLI
core
Related to JuvixCore
enhancement
New feature or request
internal-to-core
juvix-reg
repl
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
juvix compile
command to use the new pipeline.juvix dev minic
command and theBackendC
tests.juvix eval
command.