v0.6.0 (2024-03-01)
Implemented enhancements:
- Translation from JuvixTree to Nockma #2606 (paulcadman)
- Add field element type #2659 (lukaszcz)
- Support compilation to Anoma compatible functions #2652 (paulcadman)
- Effectful Juvix tree evaluator #2623 (janmasrovira)
- JuvixTree REPL #2608 (lukaszcz)
- Filter out unreachable functions in JuvixTree #2597 (lukaszcz)
- JuvixTree "apply" transformation #2595 (lukaszcz)
- JuvixTree recursors and transformation framework #2594 (lukaszcz)
- JuvixTree evaluator #2589 (lukaszcz)
- Nock serialization #2558 (janmasrovira)
- Nock language and evaluator #2557 (paulcadman)
- Per-module compilation #2468 (lukaszcz)
Merged pull requests:
- Update juvix-stdlib submodule reference to main #2675 (paulcadman)
- Use the target of aliases when resolving name signatures and iterators #2669 (paulcadman)
- Fix caseCmd for RepConstr #2666 (janmasrovira)
- Create separate
polysemy
andeffectful
based prelude #2662 (janmasrovira) - Move noFile to common code #2661 (paulcadman)
- Correctly resolve the visibility annotations of NameSpaceEntries #2657 (paulcadman)
- Transitively register local modules in ScoperState #2655 (paulcadman)
- Generalize backend builtin primitive operations #2653 (lukaszcz)
- JuvixReg transformation: initialize variables assigned in other branches #2650 (lukaszcz)
- Refactor
readFile
and some parsers to usePath
instead ofFilePath
#2649 (janmasrovira) - JuvixReg cleanup transformation #2647 (lukaszcz)
- Transform JuvixReg into SSA form #2646 (lukaszcz)
- Use
EmbedIO
instead ofEmbed IO
#2645 (janmasrovira) - Remove redundant
Embed
effect in the scoper #2644 (janmasrovira) - Style improvements #2642 (lukaszcz)
- JuvixReg recursors #2641 (lukaszcz)
- Effect benchmarks #2640 (janmasrovira)
- Update REPL artifacts with builtins from stored modules #2639 (paulcadman)
- Remove redundant
embed @IO
#2637 (janmasrovira) - JuvixReg interpreter #2635 (lukaszcz)
- Fix linux static binary build workflow #2634 (paulcadman)
- Fix bugs in the Nockma prettyprinter and parser #2632 (janmasrovira)
- Parse nockma
atomVoid
#2631 (janmasrovira) - Add nockma as a valid target for the tree compile command #2630 (janmasrovira)
- Use pow2 function from Anoma/Nock stdlib #2629 (paulcadman)
- Add jvt files to
extra-source-files
#2628 (paulcadman) - Add
-XBangPatterns
to the justfile #2627 (janmasrovira) - Remove BangPattern pragmas #2626 (janmasrovira)
- Effectful
Output
#2625 (janmasrovira) - upgrade to Ghc 9.8.1 #2624 (janmasrovira)
- Use images from Quay #2620 (benz0li)
- Replace
egrep
withgrep -E
#2618 (janmasrovira) - JuvixReg parser and pretty printer #2617 (lukaszcz)
- JuvixTree validation #2616 (lukaszcz)
- Add a justfile to perform project install, test, clean, format tasks #2615 (paulcadman)
- Translation from
Juvix Tree
toNockma
#2614 (janmasrovira) - Store syntax aliases in serialized scoper infotable #2605 (paulcadman)
- Use
writeFileEnsureLn
in place ofwriteFile
#2604 (janmasrovira) - Remove redundant
QuasiQuotes
pragmas #2603 (janmasrovira) - Fix generation and evaluation of Nock isCell op #2602 (paulcadman)
- JuvixTree negative evaluation tests #2601 (lukaszcz)
- Location info in JuvixTree nodes #2600 (lukaszcz)
- Options for
juvix dev tree read
#2599 (lukaszcz) - JuvixTree smoke tests #2598 (lukaszcz)
- Compute temporary stack height in JuvixTree #2596 (lukaszcz)
- Add
dev nockma format
command #2593 (janmasrovira) - Use Anoma compatible Nockma serialization of Bools and List-like data structures #2591 (paulcadman)
- Add the
juvix dev tree compile
command #2590 (lukaszcz) - JuvixTree tests #2587 (lukaszcz)
- Support
MemRepTuple
in the Nockma backend #2586 (janmasrovira) - Improved errors for nockma eval #2585 (janmasrovira)
- Unqualify language import in nockma parser #2584 (janmasrovira)
- JuvixTree parser and pretty printer #2583 (lukaszcz)
- Nockma compile refactor #2582 (paulcadman)
- Factor the JuvixCore -> JuvixAsm translation into JuvixCore -> JuvixTree -> JuvixAsm #2581 (lukaszcz)
- Fast nockma eval #2580 (janmasrovira)
- Merge stack and temporary variable groups in JuvixReg #2579 (lukaszcz)
- Filter out unreachable functions in JuvixAsm #2575 (lukaszcz)
- Require semicolon to separate case/if branches in JuvixAsm syntax #2574 (lukaszcz)
- Fix typos #2573 (rex4539)
- Cairo ASM language and interpreter #2572 (lukaszcz)
- Nockma compile #2570 (janmasrovira)
- Remove old typechecker module #2565 (janmasrovira)
- Add nockma evaluator #2564 (paulcadman)
- Implement the dynamic dispatch loop in JuvixAsm #2556 (lukaszcz)
- Structured temporary stack manipulation in JuvixAsm #2554 (lukaszcz)
- Fix benchmarks test compilation #2552 (paulcadman)
- Improve formatting of function definition arguments #2551 (janmasrovira)
- Implement wildcard constructor #2550 (janmasrovira)
- Read
Package
on demand and cache it #2548 (janmasrovira)