mirror of
https://github.com/anoma/juvix.git
synced 2024-12-12 14:28:08 +03:00
9f22eaa1cf
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: - https://github.com/anoma/juvix/pull/1863 and https://github.com/anoma/juvix/pull/1832
7 lines
197 B
Plaintext
7 lines
197 B
Plaintext
-- definitions
|
|
|
|
def not : Bool -> Bool := \(x : Bool) if x then false else true;
|
|
def and : Bool -> Bool -> Bool := \(x : Bool) \(y : Bool) if x then y else false;
|
|
|
|
and (not false) (not (not true))
|