1
1
mirror of https://github.com/anoma/juvix.git synced 2024-12-28 18:11:49 +03:00
juvix/app/Commands/Dev
Łukasz Czajka 7167cb319a
Lift non-immediate expressions out of case values for the Nockma backend (#3010)
Implements a transformation `compute-case-anf` which lifts out
non-immediate values matched on in case expressions by introducing
let-bindings for them. In essence, this is a partial ANF transformation
for case expressions only.

For example, transforms
```
case f x of { c y := y + x; d y := y }
```
to
```
let z := f x in case z of { c y := y + x; d y := y }
```
This transformation is needed to avoid duplication of values matched on
in case-expressions in the Nockma backend.
2024-09-09 14:56:36 +02:00
..
Asm Export Juvix source code to latex (#2917) 2024-08-05 11:28:19 +02:00
Casm Remove Geb backend (#2886) 2024-07-11 15:45:52 +01:00
Core Lift non-immediate expressions out of case values for the Nockma backend (#3010) 2024-09-09 14:56:36 +02:00
DevCompile Logger (#2908) 2024-07-22 17:14:37 +02:00
DisplayRoot Migrate all Juvix projects from juvix.yaml to Package.juvix in the repository (#2503) 2023-11-07 18:11:02 +00:00
Highlight Make compile targets a subcommand instead of a flag (#2700) 2024-04-09 13:29:07 +02:00
ImportTree Improve compilation progress log (#2969) 2024-08-30 00:10:13 +02:00
Internal Logger (#2908) 2024-07-22 17:14:37 +02:00
Latex Add --statements flag to juvix dev latex export (#2946) 2024-08-12 14:16:39 +02:00
MigrateJuvixYaml Migrate all Juvix projects from juvix.yaml to Package.juvix in the repository (#2503) 2023-11-07 18:11:02 +00:00
Nockma Logger (#2908) 2024-07-22 17:14:37 +02:00
Parse Make compile targets a subcommand instead of a flag (#2700) 2024-04-09 13:29:07 +02:00
Reg Export Juvix source code to latex (#2917) 2024-08-05 11:28:19 +02:00
Repl Options for juvix dev tree read (#2599) 2024-01-31 15:17:14 +01:00
Runtime refactor --target into subcommands for dev tree compile and other improvements (#2713) 2024-04-16 17:32:44 +02:00
Scope Make compile targets a subcommand instead of a flag (#2700) 2024-04-09 13:29:07 +02:00
Termination Export Juvix source code to latex (#2917) 2024-08-05 11:28:19 +02:00
Tree Export Juvix source code to latex (#2917) 2024-08-05 11:28:19 +02:00
Asm.hs Use EmbedIO instead of Embed IO (#2645) 2024-02-13 18:00:01 +00:00
Casm.hs Cairo disassembler (#2710) 2024-04-11 15:03:27 +02:00
Core.hs Logger (#2908) 2024-07-22 17:14:37 +02:00
DevCompile.hs Logger (#2908) 2024-07-22 17:14:37 +02:00
DisplayRoot.hs Logger (#2908) 2024-07-22 17:14:37 +02:00
Highlight.hs Fix bug where highlighting is not kept when the file has a type error and imports some other file (#2959) 2024-08-21 13:42:33 +02:00
ImportTree.hs Logger (#2908) 2024-07-22 17:14:37 +02:00
Internal.hs Logger (#2908) 2024-07-22 17:14:37 +02:00
Latex.hs Export Juvix source code to latex (#2917) 2024-08-05 11:28:19 +02:00
MigrateJuvixYaml.hs Use EmbedIO instead of Embed IO (#2645) 2024-02-13 18:00:01 +00:00
Nockma.hs Logger (#2908) 2024-07-22 17:14:37 +02:00
Options.hs Export Juvix source code to latex (#2917) 2024-08-05 11:28:19 +02:00
Parse.hs Logger (#2908) 2024-07-22 17:14:37 +02:00
Reg.hs JuvixReg to CASM translation (#2671) 2024-03-20 12:14:12 +01:00
Runtime.hs Use EmbedIO instead of Embed IO (#2645) 2024-02-13 18:00:01 +00:00
Scope.hs Export Juvix source code to latex (#2917) 2024-08-05 11:28:19 +02:00
Termination.hs Logger (#2908) 2024-07-22 17:14:37 +02:00
Tree.hs refactor --target into subcommands for dev tree compile and other improvements (#2713) 2024-04-16 17:32:44 +02:00