1
1
mirror of https://github.com/anoma/juvix.git synced 2025-01-05 22:46:08 +03:00
juvix/test/Core
Łukasz Czajka dcea0bbecb
Add field element type (#2659)
* Closes #2571
* It is reasonable to finish this PR before tackling #2562, because the
field element type is the primary data type in Cairo.
* Depends on #2653

Checklist
---------

- [x] Add field type and operations to intermediate representations
(JuvixCore, JuvixTree, JuvixAsm, JuvixReg).
- [x] Add CLI option to choose field size.
- [x] Add frontend field builtins.
- [x] Automatic conversion of integer literals to field elements.
- [x] Juvix standard library support for fields.
- [x] Check if field size matches when loading a stored module.
- [x] Update the Cairo Assembly (CASM) interpreter to use the field type
instead of integer type.
- [x] Add field type to VampIR backend.
- [x] Tests

---------

Co-authored-by: Jan Mas Rovira <janmasrovira@gmail.com>
2024-02-27 14:54:43 +01:00
..
Asm Add field element type (#2659) 2024-02-27 14:54:43 +01:00
Compile Add field element type (#2659) 2024-02-27 14:54:43 +01:00
Eval Add field element type (#2659) 2024-02-27 14:54:43 +01:00
Normalize Add field element type (#2659) 2024-02-27 14:54:43 +01:00
Print Refactor readFile and some parsers to use Path instead of FilePath (#2649) 2024-02-19 17:33:58 +01:00
Recursor JuvixTree recursors and transformation framework (#2594) 2024-01-29 16:43:08 +00:00
Transformation Support compilation to Anoma compatible functions (#2652) 2024-02-23 12:54:22 +00:00
VampIR Per-module compilation (#2468) 2023-12-30 20:15:35 +01:00
Asm.hs JuvixCore to JuvixAsm translation (#1665) 2023-01-09 18:21:30 +01:00
Compile.hs JuvixCore to JuvixAsm translation (#1665) 2023-01-09 18:21:30 +01:00
Eval.hs Add internal core read command (#1517) 2022-09-06 15:26:48 +02:00
Normalize.hs Normalization by Evaluation (#2038) 2023-05-15 18:01:40 +02:00
Print.hs Print JuvixCore correctly (#1875) 2023-03-15 16:41:39 +01:00
Recursor.hs The rmap recursor (#1893) 2023-03-16 14:47:21 +01:00
Transformation.hs Recursion unrolling for functions (#1912) 2023-03-24 15:05:37 +01:00
VampIR.hs Implement core transformation let-hoisting (#2076) 2023-05-16 13:42:44 +02:00