1
1
mirror of https://github.com/anoma/juvix.git synced 2024-12-14 17:32:00 +03:00
juvix/test/Core
Łukasz Czajka 91ba586336
Factor the JuvixCore -> JuvixAsm translation into JuvixCore -> JuvixTree -> JuvixAsm (#2581)
This PR:
* introduces the JuvixTree language which is like JuvixAsm except that
instead of the value stack there is an applicative structure,
* refactors the JuvixCore -> JuvixAsm translation into JuvixCore ->
JuvixTree -> JuvixAsm.

JuvixAsm is a bit too low level for efficient compilation to Nock.
Translating the value stack explicitly is a bad idea and it's
unnecessary, because the value stack just represents an applicative
structure which can be represented directly in Nock. It's possible, but
cumbersome and unnecessary, to recover the applicative structure from
JuvixAsm code. It's better to have a bit more high-level JuvixTree
language which still retains the explicit applicative structure.
2024-01-18 15:36:44 +01:00
..
Asm Factor the JuvixCore -> JuvixAsm translation into JuvixCore -> JuvixTree -> JuvixAsm (#2581) 2024-01-18 15:36:44 +01:00
Compile Factor the JuvixCore -> JuvixAsm translation into JuvixCore -> JuvixTree -> JuvixAsm (#2581) 2024-01-18 15:36:44 +01:00
Eval Nockma compile refactor (#2582) 2024-01-16 16:22:10 +00:00
Normalize Per-module compilation (#2468) 2023-12-30 20:15:35 +01:00
Print Nockma compile refactor (#2582) 2024-01-16 16:22:10 +00:00
Recursor Fix de Bruijn indices in rmap (#1898) 2023-03-17 13:11:36 +01:00
Transformation Per-module compilation (#2468) 2023-12-30 20:15:35 +01: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