2023-03-21 22:01:48 +03:00
# Changelog
< a href = "https://github.com/anoma/juvix" >
< img align = "right" width = "300" height = "300" alt = "Juvix Mascot" src = "../assets/images/tara-smiling.svg" / >
< / a >
2024-03-25 14:45:18 +03:00
## [v0.6.1](https://github.com/anoma/juvix/tree/v0.6.1) (2024-03-25)
[Full Changelog ](https://github.com/anoma/juvix/compare/v0.6.0...v0.6.1 )
**Implemented enhancements:**
- Support Nockma/Anoma scry operation [\#2672 ](https://github.com/anoma/juvix/issues/2672 ) ([paulcadman](https://github.com/paulcadman))
- JuvixReg to CASM translation [\#2671 ](https://github.com/anoma/juvix/pull/2671 ) ([lukaszcz](https://github.com/lukaszcz))
**Merged pull requests:**
- Rename `Dynamic'` to `DynamicTy'` [\#2696 ](https://github.com/anoma/juvix/pull/2696 ) ([janmasrovira](https://github.com/janmasrovira))
- Rename `Const` constructor in Tree and Reg languages [\#2695 ](https://github.com/anoma/juvix/pull/2695 ) ([janmasrovira](https://github.com/janmasrovira))
- Promote use of `MonadIO` to minimize `embed` occurrences [\#2694 ](https://github.com/anoma/juvix/pull/2694 ) ([janmasrovira](https://github.com/janmasrovira))
- Support compilation of Anoma transactions in nockma backend [\#2693 ](https://github.com/anoma/juvix/pull/2693 ) ([paulcadman](https://github.com/paulcadman))
- Add flags for the markdown and html backend: ` --strip-prefix` and `--ext` . [\#2681 ](https://github.com/anoma/juvix/pull/2681 ) ([jonaprieto](https://github.com/jonaprieto))
- Support nockma scry [\#2678 ](https://github.com/anoma/juvix/pull/2678 ) ([paulcadman](https://github.com/paulcadman))
- JuvixReg to CASM translation [\#2671 ](https://github.com/anoma/juvix/pull/2671 ) ([lukaszcz](https://github.com/lukaszcz))
- Replace `polysemy` by `effectful` [\#2663 ](https://github.com/anoma/juvix/pull/2663 ) ([janmasrovira](https://github.com/janmasrovira))
2024-03-01 12:14:32 +03:00
## [v0.6.0](https://github.com/anoma/juvix/tree/v0.6.0) (2024-03-01)
[Full Changelog ](https://github.com/anoma/juvix/compare/v0.5.5...v0.6.0 )
**Implemented enhancements:**
- Translation from JuvixTree to Nockma [\#2606 ](https://github.com/anoma/juvix/issues/2606 ) ([paulcadman](https://github.com/paulcadman))
- Add field element type [\#2659 ](https://github.com/anoma/juvix/pull/2659 ) ([lukaszcz](https://github.com/lukaszcz))
- Support compilation to Anoma compatible functions [\#2652 ](https://github.com/anoma/juvix/pull/2652 ) ([paulcadman](https://github.com/paulcadman))
- Effectful Juvix tree evaluator [\#2623 ](https://github.com/anoma/juvix/pull/2623 ) ([janmasrovira](https://github.com/janmasrovira))
- JuvixTree REPL [\#2608 ](https://github.com/anoma/juvix/pull/2608 ) ([lukaszcz](https://github.com/lukaszcz))
- Filter out unreachable functions in JuvixTree [\#2597 ](https://github.com/anoma/juvix/pull/2597 ) ([lukaszcz](https://github.com/lukaszcz))
- JuvixTree "apply" transformation [\#2595 ](https://github.com/anoma/juvix/pull/2595 ) ([lukaszcz](https://github.com/lukaszcz))
- JuvixTree recursors and transformation framework [\#2594 ](https://github.com/anoma/juvix/pull/2594 ) ([lukaszcz](https://github.com/lukaszcz))
- JuvixTree evaluator [\#2589 ](https://github.com/anoma/juvix/pull/2589 ) ([lukaszcz](https://github.com/lukaszcz))
- Nock serialization [\#2558 ](https://github.com/anoma/juvix/issues/2558 ) ([janmasrovira](https://github.com/janmasrovira))
- Nock language and evaluator [\#2557 ](https://github.com/anoma/juvix/pull/2557 ) ([paulcadman](https://github.com/paulcadman))
- Per-module compilation [\#2468 ](https://github.com/anoma/juvix/pull/2468 ) ([lukaszcz](https://github.com/lukaszcz))
**Merged pull requests:**
- Update juvix-stdlib submodule reference to main [\#2675 ](https://github.com/anoma/juvix/pull/2675 ) ([paulcadman](https://github.com/paulcadman))
- Use the target of aliases when resolving name signatures and iterators [\#2669 ](https://github.com/anoma/juvix/pull/2669 ) ([paulcadman](https://github.com/paulcadman))
- Fix caseCmd for RepConstr [\#2666 ](https://github.com/anoma/juvix/pull/2666 ) ([janmasrovira](https://github.com/janmasrovira))
- Create separate `polysemy` and `effectful` based prelude [\#2662 ](https://github.com/anoma/juvix/pull/2662 ) ([janmasrovira](https://github.com/janmasrovira))
- Move noFile to common code [\#2661 ](https://github.com/anoma/juvix/pull/2661 ) ([paulcadman](https://github.com/paulcadman))
- Correctly resolve the visibility annotations of NameSpaceEntries [\#2657 ](https://github.com/anoma/juvix/pull/2657 ) ([paulcadman](https://github.com/paulcadman))
- Transitively register local modules in ScoperState [\#2655 ](https://github.com/anoma/juvix/pull/2655 ) ([paulcadman](https://github.com/paulcadman))
- Generalize backend builtin primitive operations [\#2653 ](https://github.com/anoma/juvix/pull/2653 ) ([lukaszcz](https://github.com/lukaszcz))
- JuvixReg transformation: initialize variables assigned in other branches [\#2650 ](https://github.com/anoma/juvix/pull/2650 ) ([lukaszcz](https://github.com/lukaszcz))
- Refactor `readFile` and some parsers to use `Path` instead of `FilePath` [\#2649 ](https://github.com/anoma/juvix/pull/2649 ) ([janmasrovira](https://github.com/janmasrovira))
- JuvixReg cleanup transformation [\#2647 ](https://github.com/anoma/juvix/pull/2647 ) ([lukaszcz](https://github.com/lukaszcz))
- Transform JuvixReg into SSA form [\#2646 ](https://github.com/anoma/juvix/pull/2646 ) ([lukaszcz](https://github.com/lukaszcz))
- Use `EmbedIO` instead of `Embed IO` [\#2645 ](https://github.com/anoma/juvix/pull/2645 ) ([janmasrovira](https://github.com/janmasrovira))
- Remove redundant `Embed` effect in the scoper [\#2644 ](https://github.com/anoma/juvix/pull/2644 ) ([janmasrovira](https://github.com/janmasrovira))
- Style improvements [\#2642 ](https://github.com/anoma/juvix/pull/2642 ) ([lukaszcz](https://github.com/lukaszcz))
- JuvixReg recursors [\#2641 ](https://github.com/anoma/juvix/pull/2641 ) ([lukaszcz](https://github.com/lukaszcz))
- Effect benchmarks [\#2640 ](https://github.com/anoma/juvix/pull/2640 ) ([janmasrovira](https://github.com/janmasrovira))
- Update REPL artifacts with builtins from stored modules [\#2639 ](https://github.com/anoma/juvix/pull/2639 ) ([paulcadman](https://github.com/paulcadman))
- Remove redundant `embed @IO` [\#2637 ](https://github.com/anoma/juvix/pull/2637 ) ([janmasrovira](https://github.com/janmasrovira))
- JuvixReg interpreter [\#2635 ](https://github.com/anoma/juvix/pull/2635 ) ([lukaszcz](https://github.com/lukaszcz))
- Fix linux static binary build workflow [\#2634 ](https://github.com/anoma/juvix/pull/2634 ) ([paulcadman](https://github.com/paulcadman))
- Fix bugs in the Nockma prettyprinter and parser [\#2632 ](https://github.com/anoma/juvix/pull/2632 ) ([janmasrovira](https://github.com/janmasrovira))
- Parse nockma `atomVoid` [\#2631 ](https://github.com/anoma/juvix/pull/2631 ) ([janmasrovira](https://github.com/janmasrovira))
- Add nockma as a valid target for the tree compile command [\#2630 ](https://github.com/anoma/juvix/pull/2630 ) ([janmasrovira](https://github.com/janmasrovira))
- Use pow2 function from Anoma/Nock stdlib [\#2629 ](https://github.com/anoma/juvix/pull/2629 ) ([paulcadman](https://github.com/paulcadman))
- Add jvt files to `extra-source-files` [\#2628 ](https://github.com/anoma/juvix/pull/2628 ) ([paulcadman](https://github.com/paulcadman))
- Add `-XBangPatterns` to the justfile [\#2627 ](https://github.com/anoma/juvix/pull/2627 ) ([janmasrovira](https://github.com/janmasrovira))
- Remove BangPattern pragmas [\#2626 ](https://github.com/anoma/juvix/pull/2626 ) ([janmasrovira](https://github.com/janmasrovira))
- Effectful `Output` [\#2625 ](https://github.com/anoma/juvix/pull/2625 ) ([janmasrovira](https://github.com/janmasrovira))
- upgrade to Ghc 9.8.1 [\#2624 ](https://github.com/anoma/juvix/pull/2624 ) ([janmasrovira](https://github.com/janmasrovira))
- Use images from Quay [\#2620 ](https://github.com/anoma/juvix/pull/2620 ) ([benz0li](https://github.com/benz0li))
- Replace `egrep` with `grep -E` [\#2618 ](https://github.com/anoma/juvix/pull/2618 ) ([janmasrovira](https://github.com/janmasrovira))
- JuvixReg parser and pretty printer [\#2617 ](https://github.com/anoma/juvix/pull/2617 ) ([lukaszcz](https://github.com/lukaszcz))
- JuvixTree validation [\#2616 ](https://github.com/anoma/juvix/pull/2616 ) ([lukaszcz](https://github.com/lukaszcz))
- Add a justfile to perform project install, test, clean, format tasks [\#2615 ](https://github.com/anoma/juvix/pull/2615 ) ([paulcadman](https://github.com/paulcadman))
- Translation from `Juvix Tree` to `Nockma` [\#2614 ](https://github.com/anoma/juvix/pull/2614 ) ([janmasrovira](https://github.com/janmasrovira))
- Store syntax aliases in serialized scoper infotable [\#2605 ](https://github.com/anoma/juvix/pull/2605 ) ([paulcadman](https://github.com/paulcadman))
- Use `writeFileEnsureLn` in place of `writeFile` [\#2604 ](https://github.com/anoma/juvix/pull/2604 ) ([janmasrovira](https://github.com/janmasrovira))
- Remove redundant `QuasiQuotes` pragmas [\#2603 ](https://github.com/anoma/juvix/pull/2603 ) ([janmasrovira](https://github.com/janmasrovira))
- Fix generation and evaluation of Nock isCell op [\#2602 ](https://github.com/anoma/juvix/pull/2602 ) ([paulcadman](https://github.com/paulcadman))
- JuvixTree negative evaluation tests [\#2601 ](https://github.com/anoma/juvix/pull/2601 ) ([lukaszcz](https://github.com/lukaszcz))
- Location info in JuvixTree nodes [\#2600 ](https://github.com/anoma/juvix/pull/2600 ) ([lukaszcz](https://github.com/lukaszcz))
- Options for `juvix dev tree read` [\#2599 ](https://github.com/anoma/juvix/pull/2599 ) ([lukaszcz](https://github.com/lukaszcz))
- JuvixTree smoke tests [\#2598 ](https://github.com/anoma/juvix/pull/2598 ) ([lukaszcz](https://github.com/lukaszcz))
- Compute temporary stack height in JuvixTree [\#2596 ](https://github.com/anoma/juvix/pull/2596 ) ([lukaszcz](https://github.com/lukaszcz))
- Add `dev nockma format` command [\#2593 ](https://github.com/anoma/juvix/pull/2593 ) ([janmasrovira](https://github.com/janmasrovira))
- Use Anoma compatible Nockma serialization of Bools and List-like data structures [\#2591 ](https://github.com/anoma/juvix/pull/2591 ) ([paulcadman](https://github.com/paulcadman))
- Add the `juvix dev tree compile` command [\#2590 ](https://github.com/anoma/juvix/pull/2590 ) ([lukaszcz](https://github.com/lukaszcz))
- JuvixTree tests [\#2587 ](https://github.com/anoma/juvix/pull/2587 ) ([lukaszcz](https://github.com/lukaszcz))
- Support `MemRepTuple` in the Nockma backend [\#2586 ](https://github.com/anoma/juvix/pull/2586 ) ([janmasrovira](https://github.com/janmasrovira))
- Improved errors for nockma eval [\#2585 ](https://github.com/anoma/juvix/pull/2585 ) ([janmasrovira](https://github.com/janmasrovira))
- Unqualify language import in nockma parser [\#2584 ](https://github.com/anoma/juvix/pull/2584 ) ([janmasrovira](https://github.com/janmasrovira))
- JuvixTree parser and pretty printer [\#2583 ](https://github.com/anoma/juvix/pull/2583 ) ([lukaszcz](https://github.com/lukaszcz))
- Nockma compile refactor [\#2582 ](https://github.com/anoma/juvix/pull/2582 ) ([paulcadman](https://github.com/paulcadman))
- Factor the JuvixCore -\> JuvixAsm translation into JuvixCore -\> JuvixTree -\> JuvixAsm [\#2581 ](https://github.com/anoma/juvix/pull/2581 ) ([lukaszcz](https://github.com/lukaszcz))
- Fast nockma eval [\#2580 ](https://github.com/anoma/juvix/pull/2580 ) ([janmasrovira](https://github.com/janmasrovira))
- Merge stack and temporary variable groups in JuvixReg [\#2579 ](https://github.com/anoma/juvix/pull/2579 ) ([lukaszcz](https://github.com/lukaszcz))
- Filter out unreachable functions in JuvixAsm [\#2575 ](https://github.com/anoma/juvix/pull/2575 ) ([lukaszcz](https://github.com/lukaszcz))
- Require semicolon to separate case/if branches in JuvixAsm syntax [\#2574 ](https://github.com/anoma/juvix/pull/2574 ) ([lukaszcz](https://github.com/lukaszcz))
- Fix typos [\#2573 ](https://github.com/anoma/juvix/pull/2573 ) ([rex4539](https://github.com/rex4539))
- Cairo ASM language and interpreter [\#2572 ](https://github.com/anoma/juvix/pull/2572 ) ([lukaszcz](https://github.com/lukaszcz))
- Nockma compile [\#2570 ](https://github.com/anoma/juvix/pull/2570 ) ([janmasrovira](https://github.com/janmasrovira))
- Remove old typechecker module [\#2565 ](https://github.com/anoma/juvix/pull/2565 ) ([janmasrovira](https://github.com/janmasrovira))
- Add nockma evaluator [\#2564 ](https://github.com/anoma/juvix/pull/2564 ) ([paulcadman](https://github.com/paulcadman))
- Implement the dynamic dispatch loop in JuvixAsm [\#2556 ](https://github.com/anoma/juvix/pull/2556 ) ([lukaszcz](https://github.com/lukaszcz))
- Structured temporary stack manipulation in JuvixAsm [\#2554 ](https://github.com/anoma/juvix/pull/2554 ) ([lukaszcz](https://github.com/lukaszcz))
- Fix benchmarks test compilation [\#2552 ](https://github.com/anoma/juvix/pull/2552 ) ([paulcadman](https://github.com/paulcadman))
- Improve formatting of function definition arguments [\#2551 ](https://github.com/anoma/juvix/pull/2551 ) ([janmasrovira](https://github.com/janmasrovira))
- Implement wildcard constructor [\#2550 ](https://github.com/anoma/juvix/pull/2550 ) ([janmasrovira](https://github.com/janmasrovira))
- Read `Package` on demand and cache it [\#2548 ](https://github.com/anoma/juvix/pull/2548 ) ([janmasrovira](https://github.com/janmasrovira))
2023-12-01 22:48:35 +03:00
## [v0.5.5](https://github.com/anoma/juvix/tree/v0.5.5) (2023-12-01)
[Full Changelog ](https://github.com/anoma/juvix/compare/v0.5.4...v0.5.5 )
**Implemented enhancements:**
- Add new case for positivity checker: type cannot occur as arg of bound var [\#2542 ](https://github.com/anoma/juvix/pull/2542 ) ([jonaprieto](https://github.com/jonaprieto))
- Add dependent defaults for the new typechecker [\#2541 ](https://github.com/anoma/juvix/pull/2541 ) ([janmasrovira](https://github.com/janmasrovira))
- Extract builtin definitions for loading a Package into bundled package-base package [\#2535 ](https://github.com/anoma/juvix/pull/2535 ) ([paulcadman](https://github.com/paulcadman))
- Update the Juvix lock file when the Package file changes [\#2522 ](https://github.com/anoma/juvix/pull/2522 ) ([paulcadman](https://github.com/paulcadman))
- Add non-dependent default values to the new typechecking algorithm [\#2516 ](https://github.com/anoma/juvix/pull/2516 ) ([janmasrovira](https://github.com/janmasrovira))
**Merged pull requests:**
- Update to the latest juvix-stdlib [\#2546 ](https://github.com/anoma/juvix/pull/2546 ) ([paulcadman](https://github.com/paulcadman))
- Remove old typechecker [\#2545 ](https://github.com/anoma/juvix/pull/2545 ) ([janmasrovira](https://github.com/janmasrovira))
- Fix codeblocks indentation in Markdown output [\#2539 ](https://github.com/anoma/juvix/pull/2539 ) ([jonaprieto](https://github.com/jonaprieto))
- runtime Makefile: Do not resolve variables when writing a dependency file [\#2538 ](https://github.com/anoma/juvix/pull/2538 ) ([paulcadman](https://github.com/paulcadman))
- Fix location for aliases [\#2536 ](https://github.com/anoma/juvix/pull/2536 ) ([jonaprieto](https://github.com/jonaprieto))
- Add Makefile to hyperfine benchmarks [\#2533 ](https://github.com/anoma/juvix/pull/2533 ) ([jonaprieto](https://github.com/jonaprieto))
- Negative tests for `--new-typechecker` [\#2532 ](https://github.com/anoma/juvix/pull/2532 ) ([janmasrovira](https://github.com/janmasrovira))
- Fix the global 'package' package so that modules within it can be type-checked independently [\#2526 ](https://github.com/anoma/juvix/pull/2526 ) ([paulcadman](https://github.com/paulcadman))
- Improve inference for `--new-typechecker` [\#2524 ](https://github.com/anoma/juvix/pull/2524 ) ([janmasrovira](https://github.com/janmasrovira))
2023-11-17 19:47:00 +03:00
## [v0.5.4](https://github.com/anoma/juvix/tree/v0.5.4) (2023-11-17)
[Full Changelog ](https://github.com/anoma/juvix/compare/v0.5.3...v0.5.4 )
**Implemented enhancements:**
- Add MarkdownInfo entry in Module Concrete Decl and proper errors [\#2515 ](https://github.com/anoma/juvix/pull/2515 ) ([jonaprieto](https://github.com/jonaprieto))
- Fix check for module name for Orphan Juvix files and imports of Juvix Markdown files [\#2512 ](https://github.com/anoma/juvix/pull/2512 ) ([jonaprieto](https://github.com/jonaprieto))
- General inductive parameters [\#2506 ](https://github.com/anoma/juvix/pull/2506 ) ([janmasrovira](https://github.com/janmasrovira))
- Named arguments syntax with function definitions [\#2494 ](https://github.com/anoma/juvix/pull/2494 ) ([lukaszcz](https://github.com/lukaszcz))
- Update juvix init to generate Package.juvix instead of juvix.yaml [\#2483 ](https://github.com/anoma/juvix/pull/2483 ) ([paulcadman](https://github.com/paulcadman))
- Interleave arity and typechecking [\#2481 ](https://github.com/anoma/juvix/pull/2481 ) ([janmasrovira](https://github.com/janmasrovira))
- Literal casting [\#2457 ](https://github.com/anoma/juvix/pull/2457 ) ([lukaszcz](https://github.com/lukaszcz))
**Merged pull requests:**
- Fix Bank Example [\#2514 ](https://github.com/anoma/juvix/pull/2514 ) ([jonaprieto](https://github.com/jonaprieto))
- Refactor markdown parsing [\#2513 ](https://github.com/anoma/juvix/pull/2513 ) ([janmasrovira](https://github.com/janmasrovira))
- Add PackageDescription.Basic module Package variant [\#2509 ](https://github.com/anoma/juvix/pull/2509 ) ([paulcadman](https://github.com/paulcadman))
- Run test suite in parallel [\#2507 ](https://github.com/anoma/juvix/pull/2507 ) ([paulcadman](https://github.com/paulcadman))
- test: Run juvix format on juvix packages rather than files [\#2505 ](https://github.com/anoma/juvix/pull/2505 ) ([paulcadman](https://github.com/paulcadman))
- Fix `clone` in `subsHoles` [\#2504 ](https://github.com/anoma/juvix/pull/2504 ) ([lukaszcz](https://github.com/lukaszcz))
- Migrate all Juvix projects from juvix.yaml to Package.juvix in the repository [\#2503 ](https://github.com/anoma/juvix/pull/2503 ) ([paulcadman](https://github.com/paulcadman))
- Update file walker to use Package.juvix to detect a Juvix package [\#2502 ](https://github.com/anoma/juvix/pull/2502 ) ([paulcadman](https://github.com/paulcadman))
- Refresh bound variable ids when substituting in Internal [\#2501 ](https://github.com/anoma/juvix/pull/2501 ) ([lukaszcz](https://github.com/lukaszcz))
- Add -n/--non-interactive option to juvix init [\#2500 ](https://github.com/anoma/juvix/pull/2500 ) ([paulcadman](https://github.com/paulcadman))
- Use Package.juvix in the global project [\#2499 ](https://github.com/anoma/juvix/pull/2499 ) ([paulcadman](https://github.com/paulcadman))
- Normalise paths on ResolverCache set and lookup [\#2498 ](https://github.com/anoma/juvix/pull/2498 ) ([paulcadman](https://github.com/paulcadman))
- Fix Empty Lines at the Beginning of a File with No module decl Prevent Parsing [\#2496 ](https://github.com/anoma/juvix/pull/2496 ) ([jonaprieto](https://github.com/jonaprieto))
- Fix remove unexpected whitespaces introduced by formatting [\#2489 ](https://github.com/anoma/juvix/pull/2489 ) ([jonaprieto](https://github.com/jonaprieto))
- Add support for Literate Juvix Markdown [\#2448 ](https://github.com/anoma/juvix/pull/2448 ) ([jonaprieto](https://github.com/jonaprieto))
2023-11-01 19:18:33 +03:00
## [v0.5.3](https://github.com/anoma/juvix/tree/v0.5.3) (2023-11-01)
[Full Changelog ](https://github.com/anoma/juvix/compare/v0.5.2...v0.5.3 )
**Implemented enhancements:**
- Arithmetic simplification [\#2454 ](https://github.com/anoma/juvix/pull/2454 ) ([lukaszcz](https://github.com/lukaszcz))
- Constant folding [\#2450 ](https://github.com/anoma/juvix/pull/2450 ) ([lukaszcz](https://github.com/lukaszcz))
- Proposal: Use a Juvix source file to define a package instead of YAML [\#2336 ](https://github.com/anoma/juvix/pull/2336 ) ([paulcadman](https://github.com/paulcadman))
- Dependent default values [\#2446 ](https://github.com/anoma/juvix/pull/2446 ) ([janmasrovira](https://github.com/janmasrovira))
- Instance coercions [\#2444 ](https://github.com/anoma/juvix/pull/2444 ) ([lukaszcz](https://github.com/lukaszcz))
- Comparison optimization [\#2443 ](https://github.com/anoma/juvix/pull/2443 ) ([lukaszcz](https://github.com/lukaszcz))
- Allow `syntax operator` in the rhs of a record declaration [\#2442 ](https://github.com/anoma/juvix/pull/2442 ) ([janmasrovira](https://github.com/janmasrovira))
- Add constructor wildcards [\#2437 ](https://github.com/anoma/juvix/pull/2437 ) ([janmasrovira](https://github.com/janmasrovira))
- Add default arguments [\#2408 ](https://github.com/anoma/juvix/pull/2408 ) ([janmasrovira](https://github.com/janmasrovira))
**Merged pull requests:**
- Cache .hie directory in CI [\#2490 ](https://github.com/anoma/juvix/pull/2490 ) ([paulcadman](https://github.com/paulcadman))
- Fix \#2479 [\#2486 ](https://github.com/anoma/juvix/pull/2486 ) ([jonaprieto](https://github.com/jonaprieto))
- Update Lisp File Printer [\#2484 ](https://github.com/anoma/juvix/pull/2484 ) ([agureev](https://github.com/agureev))
- Rename Roots type to Root [\#2480 ](https://github.com/anoma/juvix/pull/2480 ) ([paulcadman](https://github.com/paulcadman))
- Version the PackageDescription module [\#2478 ](https://github.com/anoma/juvix/pull/2478 ) ([paulcadman](https://github.com/paulcadman))
- Format long list literals by splitting using pre-comma multiline [\#2477 ](https://github.com/anoma/juvix/pull/2477 ) ([paulcadman](https://github.com/paulcadman))
- Use a versioned documentation link in the doctor output [\#2475 ](https://github.com/anoma/juvix/pull/2475 ) ([paulcadman](https://github.com/paulcadman))
- Add missing juvix.yaml files to test project roots [\#2474 ](https://github.com/anoma/juvix/pull/2474 ) ([paulcadman](https://github.com/paulcadman))
- Use system locale independent readFile and writeFile APIs from with-utf8 [\#2473 ](https://github.com/anoma/juvix/pull/2473 ) ([paulcadman](https://github.com/paulcadman))
- Fix precedence inconsistency bug [\#2470 ](https://github.com/anoma/juvix/pull/2470 ) ([lukaszcz](https://github.com/lukaszcz))
- Add FileExt type [\#2467 ](https://github.com/anoma/juvix/pull/2467 ) ([jonaprieto](https://github.com/jonaprieto))
- Update clang formatting [\#2465 ](https://github.com/anoma/juvix/pull/2465 ) ([jonaprieto](https://github.com/jonaprieto))
- Add dependency on expressions in function default arguments [\#2462 ](https://github.com/anoma/juvix/pull/2462 ) ([paulcadman](https://github.com/paulcadman))
- Use JuvixError instead of Text for errors in Package file loading [\#2459 ](https://github.com/anoma/juvix/pull/2459 ) ([paulcadman](https://github.com/paulcadman))
- Refactor EntryPoint, Package, Pipeline, Root packages [\#2458 ](https://github.com/anoma/juvix/pull/2458 ) ([paulcadman](https://github.com/paulcadman))
- Show import with public keyword in the html doc [\#2456 ](https://github.com/anoma/juvix/pull/2456 ) ([janmasrovira](https://github.com/janmasrovira))
- Process $root/Package.juvix using a special PathResolver [\#2451 ](https://github.com/anoma/juvix/pull/2451 ) ([paulcadman](https://github.com/paulcadman))
- Add new flags to the Html backend [\#2447 ](https://github.com/anoma/juvix/pull/2447 ) ([jonaprieto](https://github.com/jonaprieto))
- Case value inlining [\#2441 ](https://github.com/anoma/juvix/pull/2441 ) ([lukaszcz](https://github.com/lukaszcz))
- Fix instance axiom bug [\#2439 ](https://github.com/anoma/juvix/pull/2439 ) ([lukaszcz](https://github.com/lukaszcz))
- Update Geb backend [\#2436 ](https://github.com/anoma/juvix/pull/2436 ) ([agureev](https://github.com/agureev))
- Ignore instance arguments in the termination checker [\#2435 ](https://github.com/anoma/juvix/pull/2435 ) ([janmasrovira](https://github.com/janmasrovira))
- Use a Juvix source file to define a package [\#2434 ](https://github.com/anoma/juvix/pull/2434 ) ([paulcadman](https://github.com/paulcadman))
- Numeric, ordering and equality traits [\#2433 ](https://github.com/anoma/juvix/pull/2433 ) ([lukaszcz](https://github.com/lukaszcz))
- Synchronize stdlib submodule [\#2428 ](https://github.com/anoma/juvix/pull/2428 ) ([paulcadman](https://github.com/paulcadman))
- Improve the specialisation optimisation [\#2417 ](https://github.com/anoma/juvix/pull/2417 ) ([lukaszcz](https://github.com/lukaszcz))
- Fix formatting for all Juvix files in tests folder [\#2404 ](https://github.com/anoma/juvix/pull/2404 ) ([jonaprieto](https://github.com/jonaprieto))
## [v0.5.2](https://github.com/anoma/juvix/tree/v0.5.2) (2023-10-04)
2023-10-04 15:54:15 +03:00
[Full Changelog ](https://github.com/anoma/juvix/compare/v0.5.1...v0.5.2 )
**Implemented enhancements:**
- Add `juvix dependencies update` command [\#2419 ](https://github.com/anoma/juvix/pull/2419 ) ([paulcadman](https://github.com/paulcadman))
- Add Juvix package lockfile support [\#2334 ](https://github.com/anoma/juvix/issues/2334 )
- Add `Partial` trait [\#2409 ](https://github.com/anoma/juvix/pull/2409 ) ([lukaszcz](https://github.com/lukaszcz))
- Fix for crash with wildcard used in type definition [\#2405 ](https://github.com/anoma/juvix/pull/2405 ) ([janmasrovira](https://github.com/janmasrovira))
- Improve closure calls in the runtime [\#2396 ](https://github.com/anoma/juvix/pull/2396 ) ([lukaszcz](https://github.com/lukaszcz))
- Allow open statements in let expressions [\#2395 ](https://github.com/anoma/juvix/pull/2395 ) ([janmasrovira](https://github.com/janmasrovira))
- Fix delay instance resolution [\#2393 ](https://github.com/anoma/juvix/pull/2393 ) ([lukaszcz](https://github.com/lukaszcz))
- Support functions in instance parameters [\#2385 ](https://github.com/anoma/juvix/pull/2385 ) ([lukaszcz](https://github.com/lukaszcz))
- Do not call `git fetch` on git dependency if ref already exists in clone [\#2379 ](https://github.com/anoma/juvix/pull/2379 ) ([paulcadman](https://github.com/paulcadman))
- Improve inlining [\#2377 ](https://github.com/anoma/juvix/pull/2377 ) ([lukaszcz](https://github.com/lukaszcz))
- Record creation syntax with function definitions [\#2369 ](https://github.com/anoma/juvix/pull/2369 ) ([lukaszcz](https://github.com/lukaszcz))
**Merged pull requests:**
- Fix record creation error message location [\#2424 ](https://github.com/anoma/juvix/pull/2424 ) ([lukaszcz](https://github.com/lukaszcz))
- Fix bug in instance termination checking [\#2423 ](https://github.com/anoma/juvix/pull/2423 ) ([lukaszcz](https://github.com/lukaszcz))
- Reinstate the project .hlint.yaml [\#2420 ](https://github.com/anoma/juvix/pull/2420 ) ([paulcadman](https://github.com/paulcadman))
- Remove package.yaml entry for PNG assets [\#2418 ](https://github.com/anoma/juvix/pull/2418 ) ([paulcadman](https://github.com/paulcadman))
- Update benchmarks [\#2415 ](https://github.com/anoma/juvix/pull/2415 ) ([lukaszcz](https://github.com/lukaszcz))
- Fix minor: case and error message [\#2407 ](https://github.com/anoma/juvix/pull/2407 ) ([jonaprieto](https://github.com/jonaprieto))
- Fix tara url svg [\#2406 ](https://github.com/anoma/juvix/pull/2406 ) ([jonaprieto](https://github.com/jonaprieto))
- Update pre-commit to check JSON formatting [\#2400 ](https://github.com/anoma/juvix/pull/2400 ) ([jonaprieto](https://github.com/jonaprieto))
- Simplify README [\#2399 ](https://github.com/anoma/juvix/pull/2399 ) ([jonaprieto](https://github.com/jonaprieto))
- Remove unused files [\#2398 ](https://github.com/anoma/juvix/pull/2398 ) ([jonaprieto](https://github.com/jonaprieto))
- Minor changes to midsquare [\#2397 ](https://github.com/anoma/juvix/pull/2397 ) ([jonaprieto](https://github.com/jonaprieto))
- Add fixity `none` and make aliases inherit fixity [\#2391 ](https://github.com/anoma/juvix/pull/2391 ) ([lukaszcz](https://github.com/lukaszcz))
- Add nodes with no edges to the dependency graph [\#2390 ](https://github.com/anoma/juvix/pull/2390 ) ([janmasrovira](https://github.com/janmasrovira))
- Remove function clause from `Internal` [\#2389 ](https://github.com/anoma/juvix/pull/2389 ) ([janmasrovira](https://github.com/janmasrovira))
- Add package lockfile support [\#2388 ](https://github.com/anoma/juvix/pull/2388 ) ([paulcadman](https://github.com/paulcadman))
- Fix case formatting [\#2387 ](https://github.com/anoma/juvix/pull/2387 ) ([lukaszcz](https://github.com/lukaszcz))
- Instance holes [\#2384 ](https://github.com/anoma/juvix/pull/2384 ) ([lukaszcz](https://github.com/lukaszcz))
- Update standard library list functions to use traits [\#2382 ](https://github.com/anoma/juvix/pull/2382 ) ([lukaszcz](https://github.com/lukaszcz))
- Avoid serialization of \_packageFile field in juvix.yaml [\#2381 ](https://github.com/anoma/juvix/pull/2381 ) ([paulcadman](https://github.com/paulcadman))
- Avoid the `-Os` option when generating WebAssembly [\#2378 ](https://github.com/anoma/juvix/pull/2378 ) ([lukaszcz](https://github.com/lukaszcz))
- Error on local instances [\#2376 ](https://github.com/anoma/juvix/pull/2376 ) ([lukaszcz](https://github.com/lukaszcz))
- Error for an instance subsumed by other instances [\#2375 ](https://github.com/anoma/juvix/pull/2375 ) ([lukaszcz](https://github.com/lukaszcz))
2023-11-01 19:18:33 +03:00
## [0.5.1](https://github.com/anoma/juvix/tree/v0.5.1) (2023-09-15)
2023-09-15 15:31:23 +03:00
[Full Changelog ](https://github.com/anoma/juvix/compare/v0.5.0...v0.5.1 )
**Merged pull requests:**
- Fix bug in isTrait [\#2368 ](https://github.com/anoma/juvix/pull/2368 ) ([lukaszcz](https://github.com/lukaszcz))
2023-11-01 19:18:33 +03:00
## [v0.5.0](https://github.com/anoma/juvix/tree/v0.5.0) (2023-09-14)
2023-09-14 14:41:54 +03:00
[Full Changelog ](https://github.com/anoma/juvix/compare/v0.4.3...v0.5.0 )
**Implemented enhancements:**
- Add new case syntax [\#2353 ](https://github.com/anoma/juvix/pull/2353 ) ([paulcadman](https://github.com/paulcadman))
- VampIR range checks and error handling [\#2344 ](https://github.com/anoma/juvix/pull/2344 ) ([lukaszcz](https://github.com/lukaszcz))
- Traits [\#2320 ](https://github.com/anoma/juvix/pull/2320 ) ([lukaszcz](https://github.com/lukaszcz))
- Aliasing [\#2301 ](https://github.com/anoma/juvix/pull/2301 ) ([janmasrovira](https://github.com/janmasrovira))
- External package dependencies [\#2272 ](https://github.com/anoma/juvix/pull/2272 ) ([paulcadman](https://github.com/paulcadman))
**Merged pull requests:**
- Update stdlib submodule to current stdlib main [\#2364 ](https://github.com/anoma/juvix/pull/2364 ) ([paulcadman](https://github.com/paulcadman))
- Add newlines at end of JSON files [\#2360 ](https://github.com/anoma/juvix/pull/2360 ) ([lukaszcz](https://github.com/lukaszcz))
- Update the standard library to use the trait framework [\#2359 ](https://github.com/anoma/juvix/pull/2359 ) ([lukaszcz](https://github.com/lukaszcz))
- Remove duplicated implicit pattern check from scoper [\#2357 ](https://github.com/anoma/juvix/pull/2357 ) ([paulcadman](https://github.com/paulcadman))
- Fix instance import [\#2350 ](https://github.com/anoma/juvix/pull/2350 ) ([lukaszcz](https://github.com/lukaszcz))
- Small refactor for traits [\#2345 ](https://github.com/anoma/juvix/pull/2345 ) ([janmasrovira](https://github.com/janmasrovira))
- Allow named arguments in type synonyms [\#2343 ](https://github.com/anoma/juvix/pull/2343 ) ([janmasrovira](https://github.com/janmasrovira))
- Improve formatting of single-constructor types and records [\#2342 ](https://github.com/anoma/juvix/pull/2342 ) ([janmasrovira](https://github.com/janmasrovira))
- Add Internet effect [\#2337 ](https://github.com/anoma/juvix/pull/2337 ) ([janmasrovira](https://github.com/janmasrovira))
- Global offline flag [\#2335 ](https://github.com/anoma/juvix/pull/2335 ) ([paulcadman](https://github.com/paulcadman))
- New fixity/iterator syntax [\#2332 ](https://github.com/anoma/juvix/pull/2332 ) ([janmasrovira](https://github.com/janmasrovira))
- Add fixity face [\#2328 ](https://github.com/anoma/juvix/pull/2328 ) ([janmasrovira](https://github.com/janmasrovira))
- Generate html documentation for alias and fixity definitions [\#2327 ](https://github.com/anoma/juvix/pull/2327 ) ([janmasrovira](https://github.com/janmasrovira))
- Generate documentation for local modules in the html backend [\#2326 ](https://github.com/anoma/juvix/pull/2326 ) ([janmasrovira](https://github.com/janmasrovira))
- Generate function signatures in the html backend [\#2325 ](https://github.com/anoma/juvix/pull/2325 ) ([janmasrovira](https://github.com/janmasrovira))
- Add macchiato html theme [\#2323 ](https://github.com/anoma/juvix/pull/2323 ) ([janmasrovira](https://github.com/janmasrovira))
- Show all available html themes in the CLI automatically [\#2322 ](https://github.com/anoma/juvix/pull/2322 ) ([janmasrovira](https://github.com/janmasrovira))
- Add css colors `ju-comment` and `ju-judoc` [\#2321 ](https://github.com/anoma/juvix/pull/2321 ) ([janmasrovira](https://github.com/janmasrovira))
- Report termination errors after typechecking [\#2318 ](https://github.com/anoma/juvix/pull/2318 ) ([janmasrovira](https://github.com/janmasrovira))
- Install wasmer binary from Github releases [\#2317 ](https://github.com/anoma/juvix/pull/2317 ) ([paulcadman](https://github.com/paulcadman))
- Fix record update formatting [\#2315 ](https://github.com/anoma/juvix/pull/2315 ) ([lukaszcz](https://github.com/lukaszcz))
- Fix record pattern formatting [\#2314 ](https://github.com/anoma/juvix/pull/2314 ) ([lukaszcz](https://github.com/lukaszcz))
- Update ci to use ormolu 0.5.3.0 and reformat project [\#2313 ](https://github.com/anoma/juvix/pull/2313 ) ([janmasrovira](https://github.com/janmasrovira))
- Add pragma face [\#2312 ](https://github.com/anoma/juvix/pull/2312 ) ([janmasrovira](https://github.com/janmasrovira))
- Remove `open import` syntax [\#2307 ](https://github.com/anoma/juvix/pull/2307 ) ([lukaszcz](https://github.com/lukaszcz))
2023-11-01 19:18:33 +03:00
## [v0.4.3](https://github.com/anoma/juvix/tree/v0.4.3) (2023-08-24)
2023-08-24 15:52:24 +03:00
2023-11-01 19:18:33 +03:00
[Full Changelog ](https://github.com/anoma/juvix/compare/v0.4.2...v0.4.3 )
2023-08-24 15:52:24 +03:00
**Implemented enhancements:**
- Allow wildcard arguments in new function definition syntax [\#2295 ](https://github.com/anoma/juvix/pull/2295 ) ([lukaszcz](https://github.com/lukaszcz))
- Allow omitting `: Type` in implicit function argument definitions and in type definitions [\#2291 ](https://github.com/anoma/juvix/pull/2291 ) ([lukaszcz](https://github.com/lukaszcz))
- Record patterns [\#2271 ](https://github.com/anoma/juvix/pull/2271 ) ([janmasrovira](https://github.com/janmasrovira))
- User-friendly operator declaration syntax [\#2270 ](https://github.com/anoma/juvix/pull/2270 ) ([lukaszcz](https://github.com/lukaszcz))
- Record updates [\#2263 ](https://github.com/anoma/juvix/pull/2263 ) ([janmasrovira](https://github.com/janmasrovira))
- Add field projections for records [\#2260 ](https://github.com/anoma/juvix/pull/2260 ) ([janmasrovira](https://github.com/janmasrovira))
**Merged pull requests:**
- Fix shell variables in linux static build stack install [\#2309 ](https://github.com/anoma/juvix/pull/2309 ) ([paulcadman](https://github.com/paulcadman))
- Replace gitrev with githash for obtaining build-time git info [\#2308 ](https://github.com/anoma/juvix/pull/2308 ) ([paulcadman](https://github.com/paulcadman))
- Check that type functions are supported [\#2306 ](https://github.com/anoma/juvix/pull/2306 ) ([janmasrovira](https://github.com/janmasrovira))
- Minor comment updates [\#2303 ](https://github.com/anoma/juvix/pull/2303 ) ([lukaszcz](https://github.com/lukaszcz))
- Update stdlib to use new ADT and record syntax [\#2302 ](https://github.com/anoma/juvix/pull/2302 ) ([paulcadman](https://github.com/paulcadman))
- Fix bug in arity checker with pi types [\#2300 ](https://github.com/anoma/juvix/pull/2300 ) ([janmasrovira](https://github.com/janmasrovira))
- Error on duplicate keys in YAML [\#2290 ](https://github.com/anoma/juvix/pull/2290 ) ([lukaszcz](https://github.com/lukaszcz))
- Check for incomparable precedences [\#2289 ](https://github.com/anoma/juvix/pull/2289 ) ([lukaszcz](https://github.com/lukaszcz))
- Prettyprint aggregate ADT constructor types with parentheses [\#2284 ](https://github.com/anoma/juvix/pull/2284 ) ([paulcadman](https://github.com/paulcadman))
- Fixes behaviour of default stdlib when internal-build-flag is set [\#2283 ](https://github.com/anoma/juvix/pull/2283 ) ([paulcadman](https://github.com/paulcadman))
- Enable builtin list syntax in the standard library [\#2282 ](https://github.com/anoma/juvix/pull/2282 ) ([lukaszcz](https://github.com/lukaszcz))
- Improve iterator and named arguments parsing [\#2278 ](https://github.com/anoma/juvix/pull/2278 ) ([lukaszcz](https://github.com/lukaszcz))
- Update stackage resolver to LTS 21.6 [\#2275 ](https://github.com/anoma/juvix/pull/2275 ) ([paulcadman](https://github.com/paulcadman))
- Fix benchmark wasmer command [\#2268 ](https://github.com/anoma/juvix/pull/2268 ) ([paulcadman](https://github.com/paulcadman))
- Disallow iterators with zero ranges [\#2267 ](https://github.com/anoma/juvix/pull/2267 ) ([lukaszcz](https://github.com/lukaszcz))
- Don't print pragmas in documentation [\#2266 ](https://github.com/anoma/juvix/pull/2266 ) ([lukaszcz](https://github.com/lukaszcz))
- Adt syntax [\#2262 ](https://github.com/anoma/juvix/pull/2262 ) ([janmasrovira](https://github.com/janmasrovira))
- Minor refactor and script update [\#2261 ](https://github.com/anoma/juvix/pull/2261 ) ([lukaszcz](https://github.com/lukaszcz))
- Separate modules namespace [\#2257 ](https://github.com/anoma/juvix/pull/2257 ) ([janmasrovira](https://github.com/janmasrovira))
2023-07-25 11:35:26 +03:00
## [v0.4.2](https://github.com/anoma/juvix/tree/v0.4.2) (2023-07-25)
[Full Changelog ](https://github.com/anoma/juvix/compare/v0.4.1...v0.4.2 )
**Implemented enhancements:**
- Fold lets when the bound variable occurs at most once [\#2231 ](https://github.com/anoma/juvix/pull/2231 ) ([lukaszcz](https://github.com/lukaszcz))
- Case folding [\#2229 ](https://github.com/anoma/juvix/pull/2229 ) ([lukaszcz](https://github.com/lukaszcz))
- Specialization optimisation [\#2164 ](https://github.com/anoma/juvix/pull/2164 ) ([lukaszcz](https://github.com/lukaszcz))
**Merged pull requests:**
- Refactor deriving statements in `Concrete.Language` [\#2256 ](https://github.com/anoma/juvix/pull/2256 ) ([janmasrovira](https://github.com/janmasrovira))
- Rename inductive constructor [\#2255 ](https://github.com/anoma/juvix/pull/2255 ) ([janmasrovira](https://github.com/janmasrovira))
- Add record declaration syntax [\#2254 ](https://github.com/anoma/juvix/pull/2254 ) ([janmasrovira](https://github.com/janmasrovira))
- Typcheck imports before statements [\#2253 ](https://github.com/anoma/juvix/pull/2253 ) ([janmasrovira](https://github.com/janmasrovira))
- Named arguments [\#2250 ](https://github.com/anoma/juvix/pull/2250 ) ([janmasrovira](https://github.com/janmasrovira))
- Format juvix files using new function syntax [\#2245 ](https://github.com/anoma/juvix/pull/2245 ) ([janmasrovira](https://github.com/janmasrovira))
- Update to GEB version 0.3.2 [\#2244 ](https://github.com/anoma/juvix/pull/2244 ) ([lukaszcz](https://github.com/lukaszcz))
- New syntax for function definitions [\#2243 ](https://github.com/anoma/juvix/pull/2243 ) ([janmasrovira](https://github.com/janmasrovira))
- Parse many consecutive `-` as a comment [\#2240 ](https://github.com/anoma/juvix/pull/2240 ) ([janmasrovira](https://github.com/janmasrovira))
- Add syntax for builtin list [\#2239 ](https://github.com/anoma/juvix/pull/2239 ) ([janmasrovira](https://github.com/janmasrovira))
- Fix bug in aritychecker [\#2238 ](https://github.com/anoma/juvix/pull/2238 ) ([janmasrovira](https://github.com/janmasrovira))
- Local pragmas improvements [\#2236 ](https://github.com/anoma/juvix/pull/2236 ) ([lukaszcz](https://github.com/lukaszcz))
- Fix bug in `computeTypeInfo` [\#2234 ](https://github.com/anoma/juvix/pull/2234 ) ([lukaszcz](https://github.com/lukaszcz))
- Numeric range types [\#2232 ](https://github.com/anoma/juvix/pull/2232 ) ([lukaszcz](https://github.com/lukaszcz))
- Use specialization pragmas in the standard library [\#2230 ](https://github.com/anoma/juvix/pull/2230 ) ([lukaszcz](https://github.com/lukaszcz))
- Fix de Bruijn indices in LetRecs [\#2227 ](https://github.com/anoma/juvix/pull/2227 ) ([lukaszcz](https://github.com/lukaszcz))
- Remove abstract [\#2219 ](https://github.com/anoma/juvix/pull/2219 ) ([janmasrovira](https://github.com/janmasrovira))
2023-06-23 14:39:27 +03:00
## [v0.4.1](https://github.com/anoma/juvix/tree/v0.4.1) (2023-06-23)
[Full Changelog ](https://github.com/anoma/juvix/compare/v0.4.0...v0.4.1 )
**Implemented enhancements:**
- The `public` pragma [\#2223 ](https://github.com/anoma/juvix/pull/2223 ) ([lukaszcz](https://github.com/lukaszcz))
- Local pragmas [\#2222 ](https://github.com/anoma/juvix/pull/2222 ) ([lukaszcz](https://github.com/lukaszcz))
- Lifting calls out of cases for the VampIR backend [\#2218 ](https://github.com/anoma/juvix/pull/2218 ) ([lukaszcz](https://github.com/lukaszcz))
- Use equality instead of less-equal when translating matching on Nats [\#2215 ](https://github.com/anoma/juvix/pull/2215 ) ([lukaszcz](https://github.com/lukaszcz))
- Support juvix format with no argument to format a project [\#2208 ](https://github.com/anoma/juvix/pull/2208 ) ([paulcadman](https://github.com/paulcadman))
- Always print source of formatted file unless --check is specified [\#2205 ](https://github.com/anoma/juvix/pull/2205 ) ([paulcadman](https://github.com/paulcadman))
- Improve iterator formatting and syntax [\#2204 ](https://github.com/anoma/juvix/pull/2204 ) ([lukaszcz](https://github.com/lukaszcz))
- Restrict permutative conversions on cases to non-booleans [\#2201 ](https://github.com/anoma/juvix/pull/2201 ) ([lukaszcz](https://github.com/lukaszcz))
**Merged pull requests:**
- Build and cache smoke binary keyed using icu4c version [\#2221 ](https://github.com/anoma/juvix/pull/2221 ) ([paulcadman](https://github.com/paulcadman))
- Switch to Halo2 for VampIR backend tests [\#2216 ](https://github.com/anoma/juvix/pull/2216 ) ([lukaszcz](https://github.com/lukaszcz))
- Remove Subtree sections, all collapse all button [\#2213 ](https://github.com/anoma/juvix/pull/2213 ) ([vrom911](https://github.com/vrom911))
- Fix `isNegative` in the VampIR runtime [\#2212 ](https://github.com/anoma/juvix/pull/2212 ) ([lukaszcz](https://github.com/lukaszcz))
- Use juvix-installer in CodeSpaces, install vamp-ir [\#2210 ](https://github.com/anoma/juvix/pull/2210 ) ([vrom911](https://github.com/vrom911))
- Move termination checker to Internal [\#2209 ](https://github.com/anoma/juvix/pull/2209 ) ([janmasrovira](https://github.com/janmasrovira))
- Propogate formatter results when traversing subdirs [\#2207 ](https://github.com/anoma/juvix/pull/2207 ) ([paulcadman](https://github.com/paulcadman))
- Update vamp-ir CI installation [\#2199 ](https://github.com/anoma/juvix/pull/2199 ) ([jonaprieto](https://github.com/jonaprieto))
- More tests for the VampIR compilation pipeline [\#2197 ](https://github.com/anoma/juvix/pull/2197 ) ([lukaszcz](https://github.com/lukaszcz))
- Fix runtime C maybe benchmark example [\#2195 ](https://github.com/anoma/juvix/pull/2195 ) ([paulcadman](https://github.com/paulcadman))
- Refactor isValidChar [\#2194 ](https://github.com/anoma/juvix/pull/2194 ) ([jonaprieto](https://github.com/jonaprieto))
- Check valid argument names in YAML [\#2193 ](https://github.com/anoma/juvix/pull/2193 ) ([lukaszcz](https://github.com/lukaszcz))
- Fix benchmark runtime C examples [\#2192 ](https://github.com/anoma/juvix/pull/2192 ) ([paulcadman](https://github.com/paulcadman))
- Update to the new version of VampIR [\#2138 ](https://github.com/anoma/juvix/pull/2138 ) ([lukaszcz](https://github.com/lukaszcz))
2023-06-09 19:44:39 +03:00
## [v0.4.0 - Prague!](https://github.com/anoma/juvix/tree/v0.4.0) (2023-06-02)
[Full Changelog ](https://github.com/anoma/juvix/compare/v0.3.5...v0.4.0 )
**Implemented enhancements:**
- Always print source of formatted file unless --check is specified [\#2173 ](https://github.com/anoma/juvix/pull/2173 ) ([paulcadman](https://github.com/paulcadman))
- Improve parsing error messages [\#2170 ](https://github.com/anoma/juvix/pull/2170 ) ([lukaszcz](https://github.com/lukaszcz))
**Merged pull requests:**
- Use stderr for errors in the runtime [\#2184 ](https://github.com/anoma/juvix/pull/2184 ) ([lukaszcz](https://github.com/lukaszcz))
- Change terminal colours to be more align with the scheme [\#2183 ](https://github.com/anoma/juvix/pull/2183 ) ([vrom911](https://github.com/vrom911))
- Respect fixity in runtime printer [\#2182 ](https://github.com/anoma/juvix/pull/2182 ) ([lukaszcz](https://github.com/lukaszcz))
- Format returns 0 when file is not formatted [\#2181 ](https://github.com/anoma/juvix/pull/2181 ) ([vrom911](https://github.com/vrom911))
- Print values in `juvix eval` [\#2179 ](https://github.com/anoma/juvix/pull/2179 ) ([lukaszcz](https://github.com/lukaszcz))
- Fix 'function not found' error in `juvix eval` [\#2178 ](https://github.com/anoma/juvix/pull/2178 ) ([lukaszcz](https://github.com/lukaszcz))
- Store source location of \(almost\) everything [\#2174 ](https://github.com/anoma/juvix/pull/2174 ) ([janmasrovira](https://github.com/janmasrovira))
- Do not filter unreachable symbols when compiling for REPL [\#2172 ](https://github.com/anoma/juvix/pull/2172 ) ([paulcadman](https://github.com/paulcadman))
2023-06-02 18:28:07 +03:00
## [v0.3.5](https://github.com/anoma/juvix/tree/v0.3.5) (2023-06-02)
[Full Changelog ](https://github.com/anoma/juvix/compare/v0.3.4...v0.3.5 )
**Implemented enhancements:**
- Update standard library for better readability, efficiency and iterator use [\#2153 ](https://github.com/anoma/juvix/pull/2153 ) ([lukaszcz](https://github.com/lukaszcz))
- Use the`JUVIX_LLVM_DIST_PATH` environment variable to search for the clang executable [\#2152 ](https://github.com/anoma/juvix/pull/2152 ) ([paulcadman](https://github.com/paulcadman))
- Finish the new pretty printing algorithm and delete the old one [\#2151 ](https://github.com/anoma/juvix/pull/2151 ) ([janmasrovira](https://github.com/janmasrovira))
- Add `:doc` command to the repl [\#2142 ](https://github.com/anoma/juvix/pull/2142 ) ([janmasrovira](https://github.com/janmasrovira))
- Allow to specify VampIR variable names [\#2141 ](https://github.com/anoma/juvix/pull/2141 ) ([lukaszcz](https://github.com/lukaszcz))
- VampIR pipeline: handle booleans in the type of `main` [\#2137 ](https://github.com/anoma/juvix/pull/2137 ) ([lukaszcz](https://github.com/lukaszcz))
- Add `main` field to `juvix.yaml` [\#2120 ](https://github.com/anoma/juvix/pull/2120 ) ([janmasrovira](https://github.com/janmasrovira))
- Add `:def` command to the repl [\#2119 ](https://github.com/anoma/juvix/pull/2119 ) ([janmasrovira](https://github.com/janmasrovira))
**Merged pull requests:**
- Properly scan imports inside local modules [\#2165 ](https://github.com/anoma/juvix/pull/2165 ) ([janmasrovira](https://github.com/janmasrovira))
- Add extra git dependencies to `cabal.project` [\#2158 ](https://github.com/anoma/juvix/pull/2158 ) ([janmasrovira](https://github.com/janmasrovira))
- Support new `import ... open` syntax in REPL [\#2156 ](https://github.com/anoma/juvix/pull/2156 ) ([paulcadman](https://github.com/paulcadman))
- Add the `format` pragma [\#2150 ](https://github.com/anoma/juvix/pull/2150 ) ([lukaszcz](https://github.com/lukaszcz))
- Remove code for `Eval` and `Print` statements [\#2149 ](https://github.com/anoma/juvix/pull/2149 ) ([lukaszcz](https://github.com/lukaszcz))
- Fix printing of infix constructor values [\#2144 ](https://github.com/anoma/juvix/pull/2144 ) ([lukaszcz](https://github.com/lukaszcz))
- Add `ValueType` [\#2143 ](https://github.com/anoma/juvix/pull/2143 ) ([janmasrovira](https://github.com/janmasrovira))
- Add `Semigroup` instance for `AnsiText` [\#2140 ](https://github.com/anoma/juvix/pull/2140 ) ([janmasrovira](https://github.com/janmasrovira))
- Show unicode characters without escaping [\#2127 ](https://github.com/anoma/juvix/pull/2127 ) ([janmasrovira](https://github.com/janmasrovira))
- Iterator syntax [\#2126 ](https://github.com/anoma/juvix/pull/2126 ) ([lukaszcz](https://github.com/lukaszcz))
- Fix spurious messages from Makefile.generic [\#2125 ](https://github.com/anoma/juvix/pull/2125 ) ([lukaszcz](https://github.com/lukaszcz))
- Add gnu-sed to the macOS build in the CI [\#2123 ](https://github.com/anoma/juvix/pull/2123 ) ([jonaprieto](https://github.com/jonaprieto))
- Fix baseUrl for juvix docs in Doctor command [\#2122 ](https://github.com/anoma/juvix/pull/2122 ) ([vrom911](https://github.com/vrom911))
- Remove --no-format option [\#2121 ](https://github.com/anoma/juvix/pull/2121 ) ([vrom911](https://github.com/vrom911))
- Add Bottom node [\#2112 ](https://github.com/anoma/juvix/pull/2112 ) ([janmasrovira](https://github.com/janmasrovira))
- VampIR integration [\#2103 ](https://github.com/anoma/juvix/pull/2103 ) ([lukaszcz](https://github.com/lukaszcz))
- Add VampIR to the CI [\#2096 ](https://github.com/anoma/juvix/pull/2096 ) ([jonaprieto](https://github.com/jonaprieto))
2023-05-22 19:51:42 +03:00
## [v0.3.4](https://github.com/anoma/juvix/tree/v0.3.4) (2023-05-22)
[Full Changelog ](https://github.com/anoma/juvix/compare/v0.3.3...v0.3.4 )
**Implemented enhancements:**
- Allow symbol renaming inside `using {..}` [\#2109 ](https://github.com/anoma/juvix/pull/2109 ) ([janmasrovira](https://github.com/janmasrovira))
- Scope check symbols inside `using {..}` and `hiding {..}` [\#2108 ](https://github.com/anoma/juvix/pull/2108 ) ([janmasrovira](https://github.com/janmasrovira))
- Pass through compile optimization flag to C compiler and disable optimization for --debug [\#2106 ](https://github.com/anoma/juvix/pull/2106 ) ([paulcadman](https://github.com/paulcadman))
- Add syntax for Judoc blocks [\#2102 ](https://github.com/anoma/juvix/pull/2102 ) ([janmasrovira](https://github.com/janmasrovira))
- Add dangling judoc error [\#2099 ](https://github.com/anoma/juvix/pull/2099 ) ([janmasrovira](https://github.com/janmasrovira))
- Modify `open import` syntax [\#2098 ](https://github.com/anoma/juvix/pull/2098 ) ([janmasrovira](https://github.com/janmasrovira))
- Improve error message when input path doesn't exist [\#2092 ](https://github.com/anoma/juvix/pull/2092 ) ([paulcadman](https://github.com/paulcadman))
- Partial incremental highlighting [\#2053 ](https://github.com/anoma/juvix/pull/2053 ) ([janmasrovira](https://github.com/janmasrovira))
- Normalization by Evaluation [\#2038 ](https://github.com/anoma/juvix/pull/2038 ) ([lukaszcz](https://github.com/lukaszcz))
- Inlining [\#2036 ](https://github.com/anoma/juvix/pull/2036 ) ([lukaszcz](https://github.com/lukaszcz))
**Merged pull requests:**
- Use PrettyCode instance instead of obsolete ppUsingItem in Print.Base [\#2115 ](https://github.com/anoma/juvix/pull/2115 ) ([janmasrovira](https://github.com/janmasrovira))
- Add `syntax` keyword [\#2107 ](https://github.com/anoma/juvix/pull/2107 ) ([lukaszcz](https://github.com/lukaszcz))
- Simplify formatting of lambdas with a single clause [\#2105 ](https://github.com/anoma/juvix/pull/2105 ) ([janmasrovira](https://github.com/janmasrovira))
- Fix extra whitespace in text rendering of indented empty lines [\#2101 ](https://github.com/anoma/juvix/pull/2101 ) ([paulcadman](https://github.com/paulcadman))
- Reachability analysis in Core [\#2097 ](https://github.com/anoma/juvix/pull/2097 ) ([lukaszcz](https://github.com/lukaszcz))
- Slightly improve prettyprinting for Core [\#2094 ](https://github.com/anoma/juvix/pull/2094 ) ([janmasrovira](https://github.com/janmasrovira))
- Bump to LTS Haskell 20.21 \(ghc-9.2.7\) [\#2093 ](https://github.com/anoma/juvix/pull/2093 ) ([jonaprieto](https://github.com/jonaprieto))
- Direct translation from normalized JuvixCore to VampIR [\#2086 ](https://github.com/anoma/juvix/pull/2086 ) ([lukaszcz](https://github.com/lukaszcz))
- ci: clean .juvix-build directory before formatting/typechecking examples [\#2079 ](https://github.com/anoma/juvix/pull/2079 ) ([paulcadman](https://github.com/paulcadman))
- Fix format on projects that contain subprojects [\#2078 ](https://github.com/anoma/juvix/pull/2078 ) ([paulcadman](https://github.com/paulcadman))
- Implement core transformation `let-hoisting` [\#2076 ](https://github.com/anoma/juvix/pull/2076 ) ([janmasrovira](https://github.com/janmasrovira))
- Allow nested block comments [\#2075 ](https://github.com/anoma/juvix/pull/2075 ) ([janmasrovira](https://github.com/janmasrovira))
- Fix topCommandInputFile for Format command [\#2063 ](https://github.com/anoma/juvix/pull/2063 ) ([vrom911](https://github.com/vrom911))
- Fix reachability analysis with imports in unreachable nested modules [\#2062 ](https://github.com/anoma/juvix/pull/2062 ) ([lukaszcz](https://github.com/lukaszcz))
- Fix devcontainer juvix install [\#2061 ](https://github.com/anoma/juvix/pull/2061 ) ([paulcadman](https://github.com/paulcadman))
- Fix Makefile target bugs for formatting and type Checking Juvix files [\#2057 ](https://github.com/anoma/juvix/pull/2057 ) ([jonaprieto](https://github.com/jonaprieto))
- Fix a bug in the positivity checker \(\#1943\) [\#2054 ](https://github.com/anoma/juvix/pull/2054 ) ([jonaprieto](https://github.com/jonaprieto))
- Arity check types and functions \(-\>\) [\#2049 ](https://github.com/anoma/juvix/pull/2049 ) ([janmasrovira](https://github.com/janmasrovira))
- Fix ordering of statements in Abstract -\> Internal [\#2040 ](https://github.com/anoma/juvix/pull/2040 ) ([janmasrovira](https://github.com/janmasrovira))
2023-05-08 13:52:11 +03:00
## [v0.3.3](https://github.com/anoma/juvix/tree/v0.3.3) (2023-05-08)
[Full Changelog ](https://github.com/anoma/juvix/compare/v0.3.2...v0.3.3 )
**Implemented enhancements:**
- Update to latest stdlib [\#2048 ](https://github.com/anoma/juvix/pull/2048 ) ([paulcadman](https://github.com/paulcadman))
- Support module imports in Juvix REPL [\#2029 ](https://github.com/anoma/juvix/pull/2029 ) ([paulcadman](https://github.com/paulcadman))
- Make format command's filepath optional [\#2028 ](https://github.com/anoma/juvix/pull/2028 ) ([vrom911](https://github.com/vrom911))
- format long lambda clause body on a new line [\#2015 ](https://github.com/anoma/juvix/pull/2015 ) ([paulcadman](https://github.com/paulcadman))
- Support more paths [\#2000 ](https://github.com/anoma/juvix/pull/2000 ) ([janmasrovira](https://github.com/janmasrovira))
- Add: pragma support [\#1997 ](https://github.com/anoma/juvix/pull/1997 ) ([lukaszcz](https://github.com/lukaszcz))
**Merged pull requests:**
- Fix pipeline setup in the repl [\#2046 ](https://github.com/anoma/juvix/pull/2046 ) ([janmasrovira](https://github.com/janmasrovira))
- Fix HasExpressions ConstructorApp [\#2044 ](https://github.com/anoma/juvix/pull/2044 ) ([paulcadman](https://github.com/paulcadman))
- Fix fromSource behaviour when both stdin and filename [\#2043 ](https://github.com/anoma/juvix/pull/2043 ) ([vrom911](https://github.com/vrom911))
- Return endLine info in highlighting command [\#2042 ](https://github.com/anoma/juvix/pull/2042 ) ([vrom911](https://github.com/vrom911))
- Enable self-application test [\#2041 ](https://github.com/anoma/juvix/pull/2041 ) ([janmasrovira](https://github.com/janmasrovira))
- Add bank example [\#2037 ](https://github.com/anoma/juvix/pull/2037 ) ([janmasrovira](https://github.com/janmasrovira))
- Substitute calls after lambda lifting [\#2031 ](https://github.com/anoma/juvix/pull/2031 ) ([janmasrovira](https://github.com/janmasrovira))
- Add delimiter face [\#2027 ](https://github.com/anoma/juvix/pull/2027 ) ([janmasrovira](https://github.com/janmasrovira))
- Propertly register top module name in scoper [\#2026 ](https://github.com/anoma/juvix/pull/2026 ) ([janmasrovira](https://github.com/janmasrovira))
- Add judoc code annotation and face [\#2025 ](https://github.com/anoma/juvix/pull/2025 ) ([janmasrovira](https://github.com/janmasrovira))
- Fix dependencies suggestion in missing module error [\#2024 ](https://github.com/anoma/juvix/pull/2024 ) ([paulcadman](https://github.com/paulcadman))
- Remove docs related files [\#2023 ](https://github.com/anoma/juvix/pull/2023 ) ([jonaprieto](https://github.com/jonaprieto))
- Improve formatting of comments [\#2022 ](https://github.com/anoma/juvix/pull/2022 ) ([janmasrovira](https://github.com/janmasrovira))
- Support positive arity typealias in arity checker [\#2021 ](https://github.com/anoma/juvix/pull/2021 ) ([paulcadman](https://github.com/paulcadman))
- Add format stdin smoke tests [\#2019 ](https://github.com/anoma/juvix/pull/2019 ) ([vrom911](https://github.com/vrom911))
- Add `juvix clean` to remove project build artifact directory [\#2018 ](https://github.com/anoma/juvix/pull/2018 ) ([paulcadman](https://github.com/paulcadman))
- Sync stdlib [\#2012 ](https://github.com/anoma/juvix/pull/2012 ) ([janmasrovira](https://github.com/janmasrovira))
- Ide improvements [\#2009 ](https://github.com/anoma/juvix/pull/2009 ) ([janmasrovira](https://github.com/janmasrovira))
2023-04-18 16:05:59 +03:00
## [v0.3.2](https://github.com/anoma/juvix/tree/v0.3.2) (2023-04-18)
[Full Changelog ](https://github.com/anoma/juvix/compare/v0.3.1...v0.3.2 )
**Implemented enhancements:**
- Qualified imports [\#2004 ](https://github.com/anoma/juvix/pull/2004 ) ([janmasrovira](https://github.com/janmasrovira))
- Pretty print JuvixCore values consistently with Juvix syntax [\#1988 ](https://github.com/anoma/juvix/pull/1988 ) ([lukaszcz](https://github.com/lukaszcz))
- Add: the 'seq' builtin \(\>\>\>\) [\#1982 ](https://github.com/anoma/juvix/pull/1982 ) ([lukaszcz](https://github.com/lukaszcz))
- Fix: pprint positive kw for data types [\#1980 ](https://github.com/anoma/juvix/pull/1980 ) ([jonaprieto](https://github.com/jonaprieto))
- Fix: format juvix files in test/positive [\#1978 ](https://github.com/anoma/juvix/pull/1978 ) ([jonaprieto](https://github.com/jonaprieto))
- Add syntax highlighting for juvix code blocks in docs [\#1971 ](https://github.com/anoma/juvix/pull/1971 ) ([jonaprieto](https://github.com/jonaprieto))
- Add juvix global project under xdg directory and other improvements [\#1963 ](https://github.com/anoma/juvix/pull/1963 ) ([janmasrovira](https://github.com/janmasrovira))
- Add builtin integer type to the surface language [\#1948 ](https://github.com/anoma/juvix/pull/1948 ) ([paulcadman](https://github.com/paulcadman))
**Merged pull requests:**
- Preserve escaped " in String literals [\#2011 ](https://github.com/anoma/juvix/pull/2011 ) ([paulcadman](https://github.com/paulcadman))
- Fix: broken links of Example programs [\#2003 ](https://github.com/anoma/juvix/pull/2003 ) ([jonaprieto](https://github.com/jonaprieto))
- Write compile output file to invoke dir by default [\#1999 ](https://github.com/anoma/juvix/pull/1999 ) ([paulcadman](https://github.com/paulcadman))
- Add minor improvements to the docs [\#1995 ](https://github.com/anoma/juvix/pull/1995 ) ([vrom911](https://github.com/vrom911))
- ci: Specify llvm version in brew prefix command [\#1990 ](https://github.com/anoma/juvix/pull/1990 ) ([paulcadman](https://github.com/paulcadman))
- Fix location for case expressions [\#1987 ](https://github.com/anoma/juvix/pull/1987 ) ([lukaszcz](https://github.com/lukaszcz))
- Fix: add supported targets as option for compile commands [\#1983 ](https://github.com/anoma/juvix/pull/1983 ) ([jonaprieto](https://github.com/jonaprieto))
- Fix: Stop 'make check' at first failure [\#1981 ](https://github.com/anoma/juvix/pull/1981 ) ([jonaprieto](https://github.com/jonaprieto))
- Test numbering [\#1977 ](https://github.com/anoma/juvix/pull/1977 ) ([lukaszcz](https://github.com/lukaszcz))
- Refactor Core datastructures [\#1975 ](https://github.com/anoma/juvix/pull/1975 ) ([lukaszcz](https://github.com/lukaszcz))
- Add Juvix to all benchmarks [\#1974 ](https://github.com/anoma/juvix/pull/1974 ) ([lukaszcz](https://github.com/lukaszcz))
- Check for the executable \(WASM/native\) pipeline prerequisites [\#1970 ](https://github.com/anoma/juvix/pull/1970 ) ([lukaszcz](https://github.com/lukaszcz))
- Print quoted strings in the runtime [\#1969 ](https://github.com/anoma/juvix/pull/1969 ) ([lukaszcz](https://github.com/lukaszcz))
- Update the tutorial [\#1967 ](https://github.com/anoma/juvix/pull/1967 ) ([lukaszcz](https://github.com/lukaszcz))
- Fix PrettyCode \(Maybe a\) instance "Just" case [\#1966 ](https://github.com/anoma/juvix/pull/1966 ) ([paulcadman](https://github.com/paulcadman))
- Documentation for projects and modules [\#1962 ](https://github.com/anoma/juvix/pull/1962 ) ([janmasrovira](https://github.com/janmasrovira))
- repl: Run disambiguateNames on result node [\#1961 ](https://github.com/anoma/juvix/pull/1961 ) ([paulcadman](https://github.com/paulcadman))
- Add FoldTypeSynonyms Transformation to Geb Pipeline and more Geb Tests [\#1956 ](https://github.com/anoma/juvix/pull/1956 ) ([lukaszcz](https://github.com/lukaszcz))
- Support local modules [\#1872 ](https://github.com/anoma/juvix/pull/1872 ) ([janmasrovira](https://github.com/janmasrovira))
2023-03-31 12:50:06 +03:00
## [v0.3.1](https://github.com/anoma/juvix/tree/v0.3.1) (2023-03-31)
[Full Changelog ](https://github.com/anoma/juvix/compare/v0.3.0...v0.3.1 )
**Implemented enhancements:**
- Option `--show-args-num` [\#1946 ](https://github.com/anoma/juvix/pull/1946 )
([lukaszcz](https://github.com/lukaszcz))
- Preserve the target type in letrec lifting
[\#1945 ](https://github.com/anoma/juvix/pull/1945 )
([janmasrovira](https://github.com/janmasrovira))
- Add syntax highlighting to Core error messages
[\#1938 ](https://github.com/anoma/juvix/pull/1938 )
([lukaszcz](https://github.com/lukaszcz))
- Add the `--unroll` option
[\#1935 ](https://github.com/anoma/juvix/pull/1935 )
([lukaszcz](https://github.com/lukaszcz))
- Preserve name and location information in Internal-to-Core
[\#1933 ](https://github.com/anoma/juvix/pull/1933 )
([lukaszcz](https://github.com/lukaszcz))
- Polymorphic type inference in Core
[\#1931 ](https://github.com/anoma/juvix/pull/1931 )
([lukaszcz](https://github.com/lukaszcz))
- Update README.md with Juvix nightly builds badge
[\#1923 ](https://github.com/anoma/juvix/pull/1923 )
([jonaprieto](https://github.com/jonaprieto))
- Create clean-up-cache.yaml
[\#1915 ](https://github.com/anoma/juvix/pull/1915 )
([jonaprieto](https://github.com/jonaprieto))
- Update GitHub pages deployment using deploy-pages action
[\#1910 ](https://github.com/anoma/juvix/pull/1910 )
([jonaprieto](https://github.com/jonaprieto))
- Check for recursive inductive types in the GEB pipeline
[\#1909 ](https://github.com/anoma/juvix/pull/1909 )
([lukaszcz](https://github.com/lukaszcz))
- CI pre-commit maintenance
[\#1905 ](https://github.com/anoma/juvix/pull/1905 )
([jonaprieto](https://github.com/jonaprieto))
- Add new README and md files
[\#1904 ](https://github.com/anoma/juvix/pull/1904 )
([jonaprieto](https://github.com/jonaprieto))
- Print JuvixCore correctly
[\#1875 ](https://github.com/anoma/juvix/pull/1875 )
([lukaszcz](https://github.com/lukaszcz))
- Pattern matching compilation
[\#1874 ](https://github.com/anoma/juvix/pull/1874 )
([lukaszcz](https://github.com/lukaszcz))
- CI Haskell maintenance
[\#1797 ](https://github.com/anoma/juvix/pull/1797 )
([jonaprieto](https://github.com/jonaprieto))
**Merged pull requests:**
- Let-folding after lifting
[\#1955 ](https://github.com/anoma/juvix/pull/1955 )
([lukaszcz](https://github.com/lukaszcz))
- Fix removal of polymorphic type arguments
[\#1954 ](https://github.com/anoma/juvix/pull/1954 )
([lukaszcz](https://github.com/lukaszcz))
- Fix a bug in closure traversal
[\#1953 ](https://github.com/anoma/juvix/pull/1953 )
([lukaszcz](https://github.com/lukaszcz))
- Update typecheck command to check for coverage
[\#1952 ](https://github.com/anoma/juvix/pull/1952 )
([janmasrovira](https://github.com/janmasrovira))
- CI: Ignore errors linux typecheck / format examples step
[\#1950 ](https://github.com/anoma/juvix/pull/1950 )
([paulcadman](https://github.com/paulcadman))
- Filter out type synonyms in RemoveTypeArgs
[\#1949 ](https://github.com/anoma/juvix/pull/1949 )
([lukaszcz](https://github.com/lukaszcz))
- Add fail nodes to Geb
[\#1947 ](https://github.com/anoma/juvix/pull/1947 )
([lukaszcz](https://github.com/lukaszcz))
- End-to-end Geb compilation tests
[\#1942 ](https://github.com/anoma/juvix/pull/1942 )
([lukaszcz](https://github.com/lukaszcz))
- Add juvix dev repl command
[\#1941 ](https://github.com/anoma/juvix/pull/1941 )
([paulcadman](https://github.com/paulcadman))
- Refactor Geb values
[\#1940 ](https://github.com/anoma/juvix/pull/1940 )
([lukaszcz](https://github.com/lukaszcz))
- Avoid capturing the same free variable multiple times in letrec lifting
[\#1939 ](https://github.com/anoma/juvix/pull/1939 )
([janmasrovira](https://github.com/janmasrovira))
- Add Judoc syntax reference
[\#1934 ](https://github.com/anoma/juvix/pull/1934 )
([janmasrovira](https://github.com/janmasrovira))
- Fix spacing of judoc in the formatter
[\#1932 ](https://github.com/anoma/juvix/pull/1932 )
([janmasrovira](https://github.com/janmasrovira))
- bench: Fix juvix compile flag for wasm
[\#1925 ](https://github.com/anoma/juvix/pull/1925 )
([paulcadman](https://github.com/paulcadman))
- Fix memory count for string operations
[\#1924 ](https://github.com/anoma/juvix/pull/1924 )
([lukaszcz](https://github.com/lukaszcz))
- Let folding
[\#1921 ](https://github.com/anoma/juvix/pull/1921 )
([lukaszcz](https://github.com/lukaszcz))
- Add a test suite for milestone examples
[\#1920 ](https://github.com/anoma/juvix/pull/1920 )
([paulcadman](https://github.com/paulcadman))
- Add --numeric-version flag
[\#1918 ](https://github.com/anoma/juvix/pull/1918 )
([jonaprieto](https://github.com/jonaprieto))
- Fix bug with unregistered builtin bool
[\#1917 ](https://github.com/anoma/juvix/pull/1917 )
([lukaszcz](https://github.com/lukaszcz))
- Recursion unrolling for functions
[\#1912 ](https://github.com/anoma/juvix/pull/1912 )
([lukaszcz](https://github.com/lukaszcz))
- Fix REPL state to include enough information to rerun the pipeline
[\#1911 ](https://github.com/anoma/juvix/pull/1911 )
([janmasrovira](https://github.com/janmasrovira))
- CI Haskell fix for macOS build
[\#1908 ](https://github.com/anoma/juvix/pull/1908 )
([jonaprieto](https://github.com/jonaprieto))
- Fix bug in IO runtime
[\#1906 ](https://github.com/anoma/juvix/pull/1906 )
([lukaszcz](https://github.com/lukaszcz))
- Fix JuvixAsm validation
[\#1903 ](https://github.com/anoma/juvix/pull/1903 )
([lukaszcz](https://github.com/lukaszcz))
- Fix registration of builtin inductive axioms
[\#1901 ](https://github.com/anoma/juvix/pull/1901 )
([paulcadman](https://github.com/paulcadman))
- internal-to-core: Fix index shifting of pattern arguments
[\#1900 ](https://github.com/anoma/juvix/pull/1900 )
([paulcadman](https://github.com/paulcadman))
- Fix de Bruijn indices in rmap
[\#1898 ](https://github.com/anoma/juvix/pull/1898 )
([lukaszcz](https://github.com/lukaszcz))
- Normalize types in repl
[\#1897 ](https://github.com/anoma/juvix/pull/1897 )
([janmasrovira](https://github.com/janmasrovira))
- Add MidSquareHash.juvix and fix types in MidSquareHash.jvc
[\#1896 ](https://github.com/anoma/juvix/pull/1896 )
([lukaszcz](https://github.com/lukaszcz))
- Automatically detect and split mutually recursive blocks in let expressions
[\#1894 ](https://github.com/anoma/juvix/pull/1894 )
([janmasrovira](https://github.com/janmasrovira))
- The `rmap` recursor
[\#1893 ](https://github.com/anoma/juvix/pull/1893 )
([lukaszcz](https://github.com/lukaszcz))
- Add `juvix format` command
[\#1886 ](https://github.com/anoma/juvix/pull/1886 )
([paulcadman](https://github.com/paulcadman))
- Make keyword `end` optional for top modules
[\#1883 ](https://github.com/anoma/juvix/pull/1883 )
([janmasrovira](https://github.com/janmasrovira))
- Add errors to the Core pipeline and check GEB prerequisites
[\#1871 ](https://github.com/anoma/juvix/pull/1871 )
([lukaszcz](https://github.com/lukaszcz))
- Test core to geb translation
[\#1865 ](https://github.com/anoma/juvix/pull/1865 )
([jonaprieto](https://github.com/jonaprieto))
2023-03-21 22:01:48 +03:00
## [v0.3.0](https://github.com/anoma/juvix/tree/v0.3.0) (2023-03-15)
[Full Changelog ](https://github.com/anoma/juvix/compare/v0.2.9...v0.3.0 )
**Implemented enhancements:**
- Avoid line breaks in applications within a type signature
[#1850 ](https://github.com/anoma/juvix/issues/1850 )
([paulcadman](https://github.com/paulcadman))
- Respect user's spacing decisions in the formatter
[#1837 ](https://github.com/anoma/juvix/issues/1837 )
([janmasrovira](https://github.com/janmasrovira))
- Formatter should not transform ASCII symbols to unicode by default
[#1827 ](https://github.com/anoma/juvix/issues/1827 )
([janmasrovira](https://github.com/janmasrovira))
- Enable match-to-case, nat-to-int and convert-builtins by default in
REPL [#1825 ](https://github.com/anoma/juvix/issues/1825 )
([lukaszcz](https://github.com/lukaszcz))
- The Juvix formatter works poorly with multi-line ifs
[#1793 ](https://github.com/anoma/juvix/issues/1793 )
([janmasrovira](https://github.com/janmasrovira))
- Add a lazy IO sequencing function (#1772)
[#1773 ](https://github.com/anoma/juvix/issues/1773 )
([lukaszcz](https://github.com/lukaszcz))
- Support LetRec in the GEB backend
[#1756 ](https://github.com/anoma/juvix/issues/1756 )
([janmasrovira](https://github.com/janmasrovira))
- Support integers in the GEB backend
[#1753 ](https://github.com/anoma/juvix/issues/1753 )
([lukaszcz](https://github.com/lukaszcz))
- GEB evaluator [#1751 ](https://github.com/anoma/juvix/issues/1751 )
([jonaprieto](https://github.com/jonaprieto))
- Add debugging builtin functions
[#1731 ](https://github.com/anoma/juvix/issues/1731 )
([jonaprieto](https://github.com/jonaprieto))
- Non-judoc comments are removed when generating HTML output
[#1723 ](https://github.com/anoma/juvix/issues/1723 )
([janmasrovira](https://github.com/janmasrovira))
- Special syntax for `case`
[#1716 ](https://github.com/anoma/juvix/issues/1716 )
([janmasrovira](https://github.com/janmasrovira))
- Make \|\| and && lazy
[#1701 ](https://github.com/anoma/juvix/issues/1701 )
([lukaszcz](https://github.com/lukaszcz))
- It should be possible to specify multiple implicit type arguments at
once [#1692 ](https://github.com/anoma/juvix/issues/1692 )
([janmasrovira](https://github.com/janmasrovira))
- Naive compilation of complex pattern matches with match-expressions
to decision trees with case-expressions
[#1531 ](https://github.com/anoma/juvix/issues/1531 )
([paulcadman](https://github.com/paulcadman))
- New compilation pipeline
[#1832 ](https://github.com/anoma/juvix/pull/1832 )
([lukaszcz](https://github.com/lukaszcz))
- Add internal core-eval option to evaluate named function identifier
[#1819 ](https://github.com/anoma/juvix/pull/1819 )
([paulcadman](https://github.com/paulcadman))
- Short syntax for sequences of function and datatype parameters
[#1809 ](https://github.com/anoma/juvix/pull/1809 )
([lukaszcz](https://github.com/lukaszcz))
- Add Geb Backend Evaluator with some extra subcommands
[#1808 ](https://github.com/anoma/juvix/pull/1808 )
([jonaprieto](https://github.com/jonaprieto))
- Add REPL option to apply Core transformations
[#1796 ](https://github.com/anoma/juvix/pull/1796 )
([paulcadman](https://github.com/paulcadman))
- String builtins [#1784 ](https://github.com/anoma/juvix/pull/1784 )
([lukaszcz](https://github.com/lukaszcz))
- Use restore/save github action to speed up the CI testing
[#1783 ](https://github.com/anoma/juvix/pull/1783 )
([jonaprieto](https://github.com/jonaprieto))
- Fix minor issue with ==% for type equality
[#1780 ](https://github.com/anoma/juvix/pull/1780 )
([jonaprieto](https://github.com/jonaprieto))
- Add debugging builtin functions `trace` and `fail`
[#1771 ](https://github.com/anoma/juvix/pull/1771 )
([jonaprieto](https://github.com/jonaprieto))
- Keep regular comments in html output
[#1766 ](https://github.com/anoma/juvix/pull/1766 )
([janmasrovira](https://github.com/janmasrovira))
- Lazy boolean operators
[#1743 ](https://github.com/anoma/juvix/pull/1743 )
([lukaszcz](https://github.com/lukaszcz))
- Refactor `html` command with extra options
[#1725 ](https://github.com/anoma/juvix/pull/1725 )
([jonaprieto](https://github.com/jonaprieto))
- Add initial setup for codespaces
[#1713 ](https://github.com/anoma/juvix/pull/1713 )
([jonaprieto](https://github.com/jonaprieto))
- Typecheck let expressions
[#1712 ](https://github.com/anoma/juvix/pull/1712 )
([janmasrovira](https://github.com/janmasrovira))
- Use Smoke instead of shelltestrunner
[#1710 ](https://github.com/anoma/juvix/pull/1710 )
([jonaprieto](https://github.com/jonaprieto))
- Replace – output-dir flag by – internal-build-dir
[#1707 ](https://github.com/anoma/juvix/pull/1707 )
([jonaprieto](https://github.com/jonaprieto))
- Compiler output [#1705 ](https://github.com/anoma/juvix/pull/1705 )
([jonaprieto](https://github.com/jonaprieto))
- Allow optional pipe before the first constructor for inductive type
declarations [#1699 ](https://github.com/anoma/juvix/pull/1699 )
([jonaprieto](https://github.com/jonaprieto))
- Nat builtins [#1686 ](https://github.com/anoma/juvix/pull/1686 )
([lukaszcz](https://github.com/lukaszcz))
**Merged pull requests:**
- Remove dead code in `Internal`
[#1891 ](https://github.com/anoma/juvix/pull/1891 )
([janmasrovira](https://github.com/janmasrovira))
- Remove missing Juvix examples and webapp example from docs build
[#1890 ](https://github.com/anoma/juvix/pull/1890 )
([paulcadman](https://github.com/paulcadman))
- Fix type synonym in let
[#1880 ](https://github.com/anoma/juvix/pull/1880 )
([janmasrovira](https://github.com/janmasrovira))
- Update stack resolver to lts-20.12
[#1873 ](https://github.com/anoma/juvix/pull/1873 )
([paulcadman](https://github.com/paulcadman))
- Use Ape to format patterns
[#1870 ](https://github.com/anoma/juvix/pull/1870 )
([janmasrovira](https://github.com/janmasrovira))
- Fix Core-To-Geb translation
[#1863 ](https://github.com/anoma/juvix/pull/1863 )
([jonaprieto](https://github.com/jonaprieto))
- Remove the old C backend
[#1862 ](https://github.com/anoma/juvix/pull/1862 )
([lukaszcz](https://github.com/lukaszcz))
- Move `substEnv` to its own module
[#1861 ](https://github.com/anoma/juvix/pull/1861 )
([janmasrovira](https://github.com/janmasrovira))
- Add `_caseTypeWholeExpression` to Internal
[#1860 ](https://github.com/anoma/juvix/pull/1860 )
([janmasrovira](https://github.com/janmasrovira))
- remove old minihaskell files
[#1859 ](https://github.com/anoma/juvix/pull/1859 )
([jonaprieto](https://github.com/jonaprieto))
- Fix bugs in the Case translation in Core-to-Geb
[#1858 ](https://github.com/anoma/juvix/pull/1858 )
([lukaszcz](https://github.com/lukaszcz))
- Format examples [#1856 ](https://github.com/anoma/juvix/pull/1856 )
([janmasrovira](https://github.com/janmasrovira))
- Sort the identifiers topologically in the Core-to-GEB translation
[#1854 ](https://github.com/anoma/juvix/pull/1854 )
([lukaszcz](https://github.com/lukaszcz))
- Add type info to the mid-square hashing function
[#1853 ](https://github.com/anoma/juvix/pull/1853 )
([lukaszcz](https://github.com/lukaszcz))
- Use APE mechanism to format Function expressions
[#1852 ](https://github.com/anoma/juvix/pull/1852 )
([paulcadman](https://github.com/paulcadman))
- Preserve single wildcards pretty printing function parameters
[#1851 ](https://github.com/anoma/juvix/pull/1851 )
([paulcadman](https://github.com/paulcadman))
- Add type annotation to case expression
[#1849 ](https://github.com/anoma/juvix/pull/1849 )
([janmasrovira](https://github.com/janmasrovira))
- Remove module parameters
[#1848 ](https://github.com/anoma/juvix/pull/1848 )
([janmasrovira](https://github.com/janmasrovira))
- Allow shadowing local variables with let function definitions
[#1847 ](https://github.com/anoma/juvix/pull/1847 )
([janmasrovira](https://github.com/janmasrovira))
- Add lambda type info
[#1845 ](https://github.com/anoma/juvix/pull/1845 )
([janmasrovira](https://github.com/janmasrovira))
- Improve comma formatting
[#1842 ](https://github.com/anoma/juvix/pull/1842 )
([janmasrovira](https://github.com/janmasrovira))
- Improve formatter [#1840 ](https://github.com/anoma/juvix/pull/1840 )
([janmasrovira](https://github.com/janmasrovira))
- Respect lambda Ascii/Unicode
[#1838 ](https://github.com/anoma/juvix/pull/1838 )
([janmasrovira](https://github.com/janmasrovira))
- Fix `juvix init` [#1835 ](https://github.com/anoma/juvix/pull/1835 )
([janmasrovira](https://github.com/janmasrovira))
- The formatter respects the ascii function arrow
[#1834 ](https://github.com/anoma/juvix/pull/1834 )
([janmasrovira](https://github.com/janmasrovira))
- Add `dev core from-concrete` command
[#1833 ](https://github.com/anoma/juvix/pull/1833 )
([janmasrovira](https://github.com/janmasrovira))
- Give proper errors for incorrect application of lazy builtins
[#1830 ](https://github.com/anoma/juvix/pull/1830 )
([lukaszcz](https://github.com/lukaszcz))
- Documentation: update language reference
[#1829 ](https://github.com/anoma/juvix/pull/1829 )
([lukaszcz](https://github.com/lukaszcz))
- Add compilation of complex pattern matching to case
[#1824 ](https://github.com/anoma/juvix/pull/1824 )
([paulcadman](https://github.com/paulcadman))
- Apply CI ghcup workaround to docs build
[#1823 ](https://github.com/anoma/juvix/pull/1823 )
([paulcadman](https://github.com/paulcadman))
- Update the Juvix tutorial for 0.3
[#1822 ](https://github.com/anoma/juvix/pull/1822 )
([lukaszcz](https://github.com/lukaszcz))
- Workaround ghcup issue on CI runner
[#1821 ](https://github.com/anoma/juvix/pull/1821 )
([paulcadman](https://github.com/paulcadman))
- Respect the `juvix dev highlight --format` flag when outputting
errors [#1820 ](https://github.com/anoma/juvix/pull/1820 )
([janmasrovira](https://github.com/janmasrovira))
- Comments about the usage of the JuvixCore recursors
[#1818 ](https://github.com/anoma/juvix/pull/1818 )
([lukaszcz](https://github.com/lukaszcz))
- Emacs mode and VSCode extension tutorials
[#1815 ](https://github.com/anoma/juvix/pull/1815 )
([lukaszcz](https://github.com/lukaszcz))
- Documentation: how to compile Juvix programs
[#1813 ](https://github.com/anoma/juvix/pull/1813 )
([lukaszcz](https://github.com/lukaszcz))
- Make '\>\>' lazy [#1812 ](https://github.com/anoma/juvix/pull/1812 )
([lukaszcz](https://github.com/lukaszcz))
- Output proper GEB Lisp programs
[#1810 ](https://github.com/anoma/juvix/pull/1810 )
([lukaszcz](https://github.com/lukaszcz))
- Remove the usage annotation syntax
[#1805 ](https://github.com/anoma/juvix/pull/1805 )
([lukaszcz](https://github.com/lukaszcz))
- Mid-square hashing implemented in JuvixCore
[#1804 ](https://github.com/anoma/juvix/pull/1804 )
([lukaszcz](https://github.com/lukaszcz))
- Autocompletion for `dev core compilation --target`
[#1803 ](https://github.com/anoma/juvix/pull/1803 )
([janmasrovira](https://github.com/janmasrovira))
- Special syntax for case
[#1800 ](https://github.com/anoma/juvix/pull/1800 )
([janmasrovira](https://github.com/janmasrovira))
- Adapt benchmarks to the new pipeline
[#1795 ](https://github.com/anoma/juvix/pull/1795 )
([lukaszcz](https://github.com/lukaszcz))
- Support letrec lifting without lambda lifting
[#1794 ](https://github.com/anoma/juvix/pull/1794 )
([janmasrovira](https://github.com/janmasrovira))
- Use the reader effect
[#1791 ](https://github.com/anoma/juvix/pull/1791 )
([janmasrovira](https://github.com/janmasrovira))
- Remove braces from let expressions
[#1790 ](https://github.com/anoma/juvix/pull/1790 )
([janmasrovira](https://github.com/janmasrovira))
- Translate as-pattern binders to Core PatternBinders
[#1789 ](https://github.com/anoma/juvix/pull/1789 )
([paulcadman](https://github.com/paulcadman))
- Fix termination with as-patterns
[#1787 ](https://github.com/anoma/juvix/pull/1787 )
([janmasrovira](https://github.com/janmasrovira))
- Allow type signatures to have a body
[#1785 ](https://github.com/anoma/juvix/pull/1785 )
([janmasrovira](https://github.com/janmasrovira))
- Track builtins in the Core InfoTable
[#1782 ](https://github.com/anoma/juvix/pull/1782 )
([paulcadman](https://github.com/paulcadman))
- Pipes for lambda clauses
[#1781 ](https://github.com/anoma/juvix/pull/1781 )
([janmasrovira](https://github.com/janmasrovira))
- Support integers in the GEB backend
[#1778 ](https://github.com/anoma/juvix/pull/1778 )
([lukaszcz](https://github.com/lukaszcz))
- Add builtin nat and bool types as start nodes in reachability
analysis [#1775 ](https://github.com/anoma/juvix/pull/1775 )
([paulcadman](https://github.com/paulcadman))
- Update pre-commit [#1772 ](https://github.com/anoma/juvix/pull/1772 )
([jonaprieto](https://github.com/jonaprieto))
- Parse JuvixCore with absolute paths
[#1770 ](https://github.com/anoma/juvix/pull/1770 )
([paulcadman](https://github.com/paulcadman))
- Use absolute path in Core Evaluator to generate source file location
[#1769 ](https://github.com/anoma/juvix/pull/1769 )
([paulcadman](https://github.com/paulcadman))
- Install wasmer binary from Github releases
[#1765 ](https://github.com/anoma/juvix/pull/1765 )
([jonaprieto](https://github.com/jonaprieto))
- Run the new Juvix formatter for all the Juvix examples
[#1764 ](https://github.com/anoma/juvix/pull/1764 )
([jonaprieto](https://github.com/jonaprieto))
- Fix let expressions in the repl
[#1763 ](https://github.com/anoma/juvix/pull/1763 )
([janmasrovira](https://github.com/janmasrovira))
- Improve arity inference for repl expressions
[#1762 ](https://github.com/anoma/juvix/pull/1762 )
([janmasrovira](https://github.com/janmasrovira))
- Fix broken links and other improvements
[#1761 ](https://github.com/anoma/juvix/pull/1761 )
([jonaprieto](https://github.com/jonaprieto))
- Translate Nat builtins to the correct Core Ops
[#1760 ](https://github.com/anoma/juvix/pull/1760 )
([paulcadman](https://github.com/paulcadman))
- Remove hlint from the CI and pre-commit config
[#1759 ](https://github.com/anoma/juvix/pull/1759 )
([jonaprieto](https://github.com/jonaprieto))
- Fix demo example build
[#1757 ](https://github.com/anoma/juvix/pull/1757 )
([paulcadman](https://github.com/paulcadman))
- Basic Geb integration
[#1748 ](https://github.com/anoma/juvix/pull/1748 )
([lukaszcz](https://github.com/lukaszcz))
- Fix macOS CI build [#1747 ](https://github.com/anoma/juvix/pull/1747 )
([paulcadman](https://github.com/paulcadman))
- Adapt Juvix programs to the new pipeline
[#1746 ](https://github.com/anoma/juvix/pull/1746 )
([lukaszcz](https://github.com/lukaszcz))
- Fix link in README for the new docs
[#1745 ](https://github.com/anoma/juvix/pull/1745 )
([lukaszcz](https://github.com/lukaszcz))
- Move juvix-mode to a separate repository
[#1744 ](https://github.com/anoma/juvix/pull/1744 )
([jonaprieto](https://github.com/jonaprieto))
- Print comments when pretty printing concrete syntax
[#1737 ](https://github.com/anoma/juvix/pull/1737 )
([janmasrovira](https://github.com/janmasrovira))
- Demo [#1736 ](https://github.com/anoma/juvix/pull/1736 )
([lukaszcz](https://github.com/lukaszcz))
- Update CI to install Smoke, Github actions, and Makefile fixes
[#1735 ](https://github.com/anoma/juvix/pull/1735 )
([jonaprieto](https://github.com/jonaprieto))
- Update stack.yaml [#1734 ](https://github.com/anoma/juvix/pull/1734 )
([jonaprieto](https://github.com/jonaprieto))
- Fix Nat builtins [#1733 ](https://github.com/anoma/juvix/pull/1733 )
([lukaszcz](https://github.com/lukaszcz))
- Script to count LOC
[#1732 ](https://github.com/anoma/juvix/pull/1732 )
([lukaszcz](https://github.com/lukaszcz))
- Give a proper type to literal Strings
[#1730 ](https://github.com/anoma/juvix/pull/1730 )
([paulcadman](https://github.com/paulcadman))
- Do not filter implicit args in internal to core translation
[#1728 ](https://github.com/anoma/juvix/pull/1728 )
([paulcadman](https://github.com/paulcadman))
- Fix de Brujin indexing of lambda arguments
[#1727 ](https://github.com/anoma/juvix/pull/1727 )
([paulcadman](https://github.com/paulcadman))
- Fix inference loop [#1726 ](https://github.com/anoma/juvix/pull/1726 )
([janmasrovira](https://github.com/janmasrovira))
- Remove wildcard patterns from Internal
[#1724 ](https://github.com/anoma/juvix/pull/1724 )
([janmasrovira](https://github.com/janmasrovira))
- Restructure the documentation and add a tutorial
[#1718 ](https://github.com/anoma/juvix/pull/1718 )
([lukaszcz](https://github.com/lukaszcz))
- Improve error message for confusing ':=' with '='
[#1715 ](https://github.com/anoma/juvix/pull/1715 )
([lukaszcz](https://github.com/lukaszcz))
- Fix #1704 [#1711 ](https://github.com/anoma/juvix/pull/1711 )
([janmasrovira](https://github.com/janmasrovira))
- Fix #1693 [#1708 ](https://github.com/anoma/juvix/pull/1708 )
([janmasrovira](https://github.com/janmasrovira))
- Tests for the new compilation pipeline
[#1703 ](https://github.com/anoma/juvix/pull/1703 )
([lukaszcz](https://github.com/lukaszcz))
- Add printString and printBool support to legacy C backend
[#1698 ](https://github.com/anoma/juvix/pull/1698 )
([paulcadman](https://github.com/paulcadman))
- Add – show-de-bruijn option to `juvix repl`
[#1694 ](https://github.com/anoma/juvix/pull/1694 )
([lukaszcz](https://github.com/lukaszcz))
- Allow 'terminating' keyword with builtins
[#1688 ](https://github.com/anoma/juvix/pull/1688 )
([lukaszcz](https://github.com/lukaszcz))
- Remove unicode cons symbol
[#1687 ](https://github.com/anoma/juvix/pull/1687 )
([lukaszcz](https://github.com/lukaszcz))
- Change syntax for ind. data types and forbid the empty data type
[#1684 ](https://github.com/anoma/juvix/pull/1684 )
([jonaprieto](https://github.com/jonaprieto))
- Convert Nat literals to Core integers
[#1681 ](https://github.com/anoma/juvix/pull/1681 )
([lukaszcz](https://github.com/lukaszcz))
- Less verbose output from running `make check`
[#1675 ](https://github.com/anoma/juvix/pull/1675 )
([jonaprieto](https://github.com/jonaprieto))
- Remove where syntax
[#1674 ](https://github.com/anoma/juvix/pull/1674 )
([jonaprieto](https://github.com/jonaprieto))
- Benchmarks [#1673 ](https://github.com/anoma/juvix/pull/1673 )
([janmasrovira](https://github.com/janmasrovira))
- JuvixCore to JuvixAsm translation
[#1665 ](https://github.com/anoma/juvix/pull/1665 )
([lukaszcz](https://github.com/lukaszcz))
## [v0.2.9](https://github.com/anoma/juvix/tree/v0.2.9) (2023-01-18)
[Full Changelog ](https://github.com/anoma/juvix/compare/v0.2.8...v0.2.9 )
**Implemented enhancements:**
- Refactor `html` command with extra options
[#1725 ](https://github.com/anoma/juvix/pull/1725 )
([jonaprieto](https://github.com/jonaprieto))
- Add initial setup for codespaces
[#1713 ](https://github.com/anoma/juvix/pull/1713 )
([jonaprieto](https://github.com/jonaprieto))
- Typecheck let expressions
[#1712 ](https://github.com/anoma/juvix/pull/1712 )
([janmasrovira](https://github.com/janmasrovira))
- Use Smoke instead of shelltestrunner
[#1710 ](https://github.com/anoma/juvix/pull/1710 )
([jonaprieto](https://github.com/jonaprieto))
- Replace – output-dir flag by – internal-build-dir
[#1707 ](https://github.com/anoma/juvix/pull/1707 )
([jonaprieto](https://github.com/jonaprieto))
- Compiler output [#1705 ](https://github.com/anoma/juvix/pull/1705 )
([jonaprieto](https://github.com/jonaprieto))
- Allow optional pipe before the first constructor for inductive type
declarations [#1699 ](https://github.com/anoma/juvix/pull/1699 )
([jonaprieto](https://github.com/jonaprieto))
- Nat builtins [#1686 ](https://github.com/anoma/juvix/pull/1686 )
([lukaszcz](https://github.com/lukaszcz))
**Merged pull requests:**
- Demo [#1736 ](https://github.com/anoma/juvix/pull/1736 )
([lukaszcz](https://github.com/lukaszcz))
- Update stack.yaml [#1734 ](https://github.com/anoma/juvix/pull/1734 )
([jonaprieto](https://github.com/jonaprieto))
- Fix Nat builtins [#1733 ](https://github.com/anoma/juvix/pull/1733 )
([lukaszcz](https://github.com/lukaszcz))
- Script to count LOC
[#1732 ](https://github.com/anoma/juvix/pull/1732 )
([lukaszcz](https://github.com/lukaszcz))
- Give a proper type to literal Strings
[#1730 ](https://github.com/anoma/juvix/pull/1730 )
([paulcadman](https://github.com/paulcadman))
- Do not filter implicit args in internal to core translation
[#1728 ](https://github.com/anoma/juvix/pull/1728 )
([paulcadman](https://github.com/paulcadman))
- Fix de Brujin indexing of lambda arguments
[#1727 ](https://github.com/anoma/juvix/pull/1727 )
([paulcadman](https://github.com/paulcadman))
- Fix inference loop [#1726 ](https://github.com/anoma/juvix/pull/1726 )
([janmasrovira](https://github.com/janmasrovira))
- Remove wildcard patterns from Internal
[#1724 ](https://github.com/anoma/juvix/pull/1724 )
([janmasrovira](https://github.com/janmasrovira))
- Restructure the documentation and add a tutorial
[#1718 ](https://github.com/anoma/juvix/pull/1718 )
([lukaszcz](https://github.com/lukaszcz))
- Improve error message for confusing ':=' with '='
[#1715 ](https://github.com/anoma/juvix/pull/1715 )
([lukaszcz](https://github.com/lukaszcz))
- Fix #1704 [#1711 ](https://github.com/anoma/juvix/pull/1711 )
([janmasrovira](https://github.com/janmasrovira))
- Fix #1693 [#1708 ](https://github.com/anoma/juvix/pull/1708 )
([janmasrovira](https://github.com/janmasrovira))
- Tests for the new compilation pipeline
[#1703 ](https://github.com/anoma/juvix/pull/1703 )
([lukaszcz](https://github.com/lukaszcz))
- Add printString and printBool support to legacy C backend
[#1698 ](https://github.com/anoma/juvix/pull/1698 )
([paulcadman](https://github.com/paulcadman))
- Add – show-de-bruijn option to `juvix repl`
[#1694 ](https://github.com/anoma/juvix/pull/1694 )
([lukaszcz](https://github.com/lukaszcz))
- Allow 'terminating' keyword with builtins
[#1688 ](https://github.com/anoma/juvix/pull/1688 )
([lukaszcz](https://github.com/lukaszcz))
- Remove unicode cons symbol
[#1687 ](https://github.com/anoma/juvix/pull/1687 )
([lukaszcz](https://github.com/lukaszcz))
- Change syntax for ind. data types and forbid the empty data type
[#1684 ](https://github.com/anoma/juvix/pull/1684 )
([jonaprieto](https://github.com/jonaprieto))
- Convert Nat literals to Core integers
[#1681 ](https://github.com/anoma/juvix/pull/1681 )
([lukaszcz](https://github.com/lukaszcz))
- Less verbose output from running `make check`
[#1675 ](https://github.com/anoma/juvix/pull/1675 )
([jonaprieto](https://github.com/jonaprieto))
- Remove where syntax
[#1674 ](https://github.com/anoma/juvix/pull/1674 )
([jonaprieto](https://github.com/jonaprieto))
- Benchmarks [#1673 ](https://github.com/anoma/juvix/pull/1673 )
([janmasrovira](https://github.com/janmasrovira))
- JuvixCore to JuvixAsm translation
[#1665 ](https://github.com/anoma/juvix/pull/1665 )
([lukaszcz](https://github.com/lukaszcz))
## [v0.2.8](https://github.com/anoma/juvix/tree/v0.2.8) (2022-12-20)
[Full Changelog ](https://github.com/anoma/juvix/compare/v0.2.7...v0.2.8 )
**Implemented enhancements:**
- Support basic dependencies
[#1622 ](https://github.com/anoma/juvix/pull/1622 )
([janmasrovira](https://github.com/janmasrovira))
**Merged pull requests:**
- Refactor hie.yaml and add entry in the readme
[#1672 ](https://github.com/anoma/juvix/pull/1672 )
([janmasrovira](https://github.com/janmasrovira))
- Fix inline monospace formatted text in README
[#1671 ](https://github.com/anoma/juvix/pull/1671 )
([paulcadman](https://github.com/paulcadman))
- Pin mdbook to version 0.4.22 in docs build
[#1670 ](https://github.com/anoma/juvix/pull/1670 )
([paulcadman](https://github.com/paulcadman))
- Add option to specify Core transformations to
`dev internal core-eval`
[#1669 ](https://github.com/anoma/juvix/pull/1669 )
([paulcadman](https://github.com/paulcadman))
- Revert "Ignore binaries generated by running some tests"
[#1668 ](https://github.com/anoma/juvix/pull/1668 )
([jonaprieto](https://github.com/jonaprieto))
- Add configuration files so the project can be built with cabal
[#1667 ](https://github.com/anoma/juvix/pull/1667 )
([paulcadman](https://github.com/paulcadman))
- Add documentation for compiling/running the TicTacToe example
[#1664 ](https://github.com/anoma/juvix/pull/1664 )
([paulcadman](https://github.com/paulcadman))
- Ignore binaries generated by running some tests
[#1663 ](https://github.com/anoma/juvix/pull/1663 )
([jonaprieto](https://github.com/jonaprieto))
- Conversion of Nat representation to JuvixCore integers
[#1661 ](https://github.com/anoma/juvix/pull/1661 )
([lukaszcz](https://github.com/lukaszcz))
- Move applications inside Lets and Cases
[#1659 ](https://github.com/anoma/juvix/pull/1659 )
([lukaszcz](https://github.com/lukaszcz))
- Run shelltests on macOS build
[#1658 ](https://github.com/anoma/juvix/pull/1658 )
([paulcadman](https://github.com/paulcadman))
- Restore macOS CI build/test
[#1657 ](https://github.com/anoma/juvix/pull/1657 )
([paulcadman](https://github.com/paulcadman))
- Remove type arguments and type abstractions from Nodes
[#1655 ](https://github.com/anoma/juvix/pull/1655 )
([lukaszcz](https://github.com/lukaszcz))
- Pretty printing of JuvixAsm code
[#1650 ](https://github.com/anoma/juvix/pull/1650 )
([lukaszcz](https://github.com/lukaszcz))
- Remove NameId from Core
[#1649 ](https://github.com/anoma/juvix/pull/1649 )
([lukaszcz](https://github.com/lukaszcz))
- Translation from JuvixAsm to C
[#1619 ](https://github.com/anoma/juvix/pull/1619 )
([lukaszcz](https://github.com/lukaszcz))
## [v0.2.7](https://github.com/anoma/juvix/tree/v0.2.7) (2022-12-05)
[Full Changelog ](https://github.com/anoma/juvix/compare/v0.2.6...v0.2.7 )
**Implemented enhancements:**
- Add juvix-repl-mode for emacs
[#1612 ](https://github.com/anoma/juvix/pull/1612 )
([paulcadman](https://github.com/paulcadman))
- Make lambda lifting correct when free variables occur in the types
of binders [#1609 ](https://github.com/anoma/juvix/pull/1609 )
([janmasrovira](https://github.com/janmasrovira))
**Merged pull requests:**
- Files pure refactor
[#1652 ](https://github.com/anoma/juvix/pull/1652 )
([janmasrovira](https://github.com/janmasrovira))
- Use the same stack version in all CI jobs and remove `stack setup`
step [#1651 ](https://github.com/anoma/juvix/pull/1651 )
([paulcadman](https://github.com/paulcadman))
- Fix 'not a primitive type' error message
[#1648 ](https://github.com/anoma/juvix/pull/1648 )
([lukaszcz](https://github.com/lukaszcz))
- Upgrade stack snapshot to use ghc-9.2.5
[#1621 ](https://github.com/anoma/juvix/pull/1621 )
([janmasrovira](https://github.com/janmasrovira))
- Add an emacs function to restart the REPL
[#1618 ](https://github.com/anoma/juvix/pull/1618 )
([paulcadman](https://github.com/paulcadman))
- Add types to Core functions and constructors when translating from
Internal [#1617 ](https://github.com/anoma/juvix/pull/1617 )
([paulcadman](https://github.com/paulcadman))
- Auto complete argument of 'dev core read -t'
[#1616 ](https://github.com/anoma/juvix/pull/1616 )
([janmasrovira](https://github.com/janmasrovira))
- Compute new entrypoint root when loading a file in the REPL
[#1615 ](https://github.com/anoma/juvix/pull/1615 )
([paulcadman](https://github.com/paulcadman))
- Compute maximum runtime stack height in JuvixReg
[#1613 ](https://github.com/anoma/juvix/pull/1613 )
([lukaszcz](https://github.com/lukaszcz))
- Remove shelltest threading
[#1611 ](https://github.com/anoma/juvix/pull/1611 )
([paulcadman](https://github.com/paulcadman))
- Use StackInfo and recurseS in the JuvixAsm to JuvixReg translation.
[#1610 ](https://github.com/anoma/juvix/pull/1610 )
([lukaszcz](https://github.com/lukaszcz))
- Precompute maximum heap allocation
[#1608 ](https://github.com/anoma/juvix/pull/1608 )
([lukaszcz](https://github.com/lukaszcz))
- Improvements to Juvix REPL
[#1607 ](https://github.com/anoma/juvix/pull/1607 )
([paulcadman](https://github.com/paulcadman))
- Fix discrepancy between Juvix and WASM pages
[#1605 ](https://github.com/anoma/juvix/pull/1605 )
([lukaszcz](https://github.com/lukaszcz))
- Compute JuvixAsm stack usage info
[#1604 ](https://github.com/anoma/juvix/pull/1604 )
([lukaszcz](https://github.com/lukaszcz))
- Improve As-Pattern parsing
[#1603 ](https://github.com/anoma/juvix/pull/1603 )
([ii8](https://github.com/ii8))
- Juvix core recursors should descend into nodes stored in infos
[#1600 ](https://github.com/anoma/juvix/pull/1600 )
([janmasrovira](https://github.com/janmasrovira))
- Add docs for installing the linux binary
[#1599 ](https://github.com/anoma/juvix/pull/1599 )
([paulcadman](https://github.com/paulcadman))
- Binder refactor [#1598 ](https://github.com/anoma/juvix/pull/1598 )
([janmasrovira](https://github.com/janmasrovira))
- Juvix C runtime [#1580 ](https://github.com/anoma/juvix/pull/1580 )
([lukaszcz](https://github.com/lukaszcz))
- As-patterns [#1576 ](https://github.com/anoma/juvix/pull/1576 )
([ii8](https://github.com/ii8))
- Eta expansion at the top of each core function definition (#1481)
[#1571 ](https://github.com/anoma/juvix/pull/1571 )
([janmasrovira](https://github.com/janmasrovira))
- Add translation from Internal to Core
[#1567 ](https://github.com/anoma/juvix/pull/1567 )
([paulcadman](https://github.com/paulcadman))
## [v0.2.6](https://github.com/anoma/juvix/tree/v0.2.6) (2022-10-26)
[Full Changelog ](https://github.com/anoma/juvix/compare/v0.2.5...v0.2.6 )
**Implemented enhancements:**
- Support go to definition for the standard library
[#1592 ](https://github.com/anoma/juvix/pull/1592 )
([paulcadman](https://github.com/paulcadman))
- Add builtin if [#1585 ](https://github.com/anoma/juvix/pull/1585 )
([paulcadman](https://github.com/paulcadman))
- Add builtin boolean
[#1582 ](https://github.com/anoma/juvix/pull/1582 )
([paulcadman](https://github.com/paulcadman))
- Add lambda expressions to internal and add typechecking support
[#1538 ](https://github.com/anoma/juvix/pull/1538 )
([janmasrovira](https://github.com/janmasrovira))
**Fixed bugs:**
- Fix arity checker bug
[#1546 ](https://github.com/anoma/juvix/pull/1546 )
([janmasrovira](https://github.com/janmasrovira))
- Look in patterns when building the dependency graph
[#1536 ](https://github.com/anoma/juvix/pull/1536 )
([janmasrovira](https://github.com/janmasrovira))
**Merged pull requests:**
- Update language reference to match current state of Juvix
[#1594 ](https://github.com/anoma/juvix/pull/1594 )
([paulcadman](https://github.com/paulcadman))
- Fix letrec printing
[#1591 ](https://github.com/anoma/juvix/pull/1591 )
([janmasrovira](https://github.com/janmasrovira))
- Update stdlib submodule with builtin changes
[#1589 ](https://github.com/anoma/juvix/pull/1589 )
([paulcadman](https://github.com/paulcadman))
- Rename builtin natural to nat and boolean to bool
[#1588 ](https://github.com/anoma/juvix/pull/1588 )
([paulcadman](https://github.com/paulcadman))
- Improve the test for eta-expansion of constructors and builtins
[#1583 ](https://github.com/anoma/juvix/pull/1583 )
([lukaszcz](https://github.com/lukaszcz))
- Properly newline expressions in the pretty printer
[#1581 ](https://github.com/anoma/juvix/pull/1581 )
([janmasrovira](https://github.com/janmasrovira))
- Letrec lifting [#1579 ](https://github.com/anoma/juvix/pull/1579 )
([janmasrovira](https://github.com/janmasrovira))
- Add softlines between applications and hang definitions
[#1578 ](https://github.com/anoma/juvix/pull/1578 )
([janmasrovira](https://github.com/janmasrovira))
- Parse optional type info in JVC files
[#1575 ](https://github.com/anoma/juvix/pull/1575 )
([lukaszcz](https://github.com/lukaszcz))
- Fix symbol numbering bug
[#1574 ](https://github.com/anoma/juvix/pull/1574 )
([lukaszcz](https://github.com/lukaszcz))
- 1569 rewrite the test for lambda lifting to use evaluation
[#1572 ](https://github.com/anoma/juvix/pull/1572 )
([janmasrovira](https://github.com/janmasrovira))
- Remove lambda from reservedSymbols
[#1568 ](https://github.com/anoma/juvix/pull/1568 )
([lukaszcz](https://github.com/lukaszcz))
- Keywords refactor [#1566 ](https://github.com/anoma/juvix/pull/1566 )
([janmasrovira](https://github.com/janmasrovira))
- remove ≔ from the language and replace it by :=
[#1563 ](https://github.com/anoma/juvix/pull/1563 )
([janmasrovira](https://github.com/janmasrovira))
- JuvixReg [#1551 ](https://github.com/anoma/juvix/pull/1551 )
([lukaszcz](https://github.com/lukaszcz))
- Remove duplicate function in concrete analysis
[#1550 ](https://github.com/anoma/juvix/pull/1550 )
([ii8](https://github.com/ii8))
- Evaluator minor style refactor
[#1547 ](https://github.com/anoma/juvix/pull/1547 )
([janmasrovira](https://github.com/janmasrovira))
- Properly handle top lambdas in the termination checker
[#1544 ](https://github.com/anoma/juvix/pull/1544 )
([janmasrovira](https://github.com/janmasrovira))
- Mutual inference [#1543 ](https://github.com/anoma/juvix/pull/1543 )
([janmasrovira](https://github.com/janmasrovira))
- Autocomplete ".jvc" input files for core {eval, read} commands
[#1542 ](https://github.com/anoma/juvix/pull/1542 )
([paulcadman](https://github.com/paulcadman))
- Add – show-de-bruijn to `core eval` command
[#1540 ](https://github.com/anoma/juvix/pull/1540 )
([paulcadman](https://github.com/paulcadman))
- Inductive types should depend on the types of their constructors
[#1537 ](https://github.com/anoma/juvix/pull/1537 )
([lukaszcz](https://github.com/lukaszcz))
- Parser labels [#1535 ](https://github.com/anoma/juvix/pull/1535 )
([janmasrovira](https://github.com/janmasrovira))
- JuvixAsm [#1432 ](https://github.com/anoma/juvix/pull/1432 )
([lukaszcz](https://github.com/lukaszcz))
## [v0.2.5](https://github.com/anoma/juvix/tree/v0.2.5) (2022-09-14)
[Full Changelog ](https://github.com/anoma/juvix/compare/v0.2.4...v0.2.5 )
**Fixed bugs:**
- Properly type check patterns that need normalization
[#1472 ](https://github.com/anoma/juvix/pull/1472 )
([janmasrovira](https://github.com/janmasrovira))
- Detect nested patterns as smaller in the termination checker
[#1524 ](https://github.com/anoma/juvix/pull/1524 )
- Fix developBeta in Core/Extra.hs
[#1487 ](https://github.com/anoma/juvix/pull/1487 )
([lukaszcz](https://github.com/lukaszcz))
- Core/Extra/Recursors/Collector bugfix
[#1510 ](https://github.com/anoma/juvix/pull/1510 )
([lukaszcz](https://github.com/lukaszcz))
**Merged pull requests:**
- Replace -\> by := in lambda syntax
[#1533 ](https://github.com/anoma/juvix/pull/1533 )
([janmasrovira](https://github.com/janmasrovira))
- 'Match' with complex patterns in Core
[#1530 ](https://github.com/anoma/juvix/pull/1530 )
([lukaszcz](https://github.com/lukaszcz))
- Refactor CLI [#1527 ](https://github.com/anoma/juvix/pull/1527 )
([janmasrovira](https://github.com/janmasrovira))
- Add CanonicalProjection
[#1526 ](https://github.com/anoma/juvix/pull/1526 )
([janmasrovira](https://github.com/janmasrovira))
- Make comma a delimiter
[#1525 ](https://github.com/anoma/juvix/pull/1525 )
([lukaszcz](https://github.com/lukaszcz))
- Detect nested patterns as smaller in the termination checker
[#1524 ](https://github.com/anoma/juvix/pull/1524 )
([janmasrovira](https://github.com/janmasrovira))
- Disallow tab characters as spaces
[#1523 ](https://github.com/anoma/juvix/pull/1523 )
([janmasrovira](https://github.com/janmasrovira))
- Refactor `destruct` in Core/Extra/Base
[#1522 ](https://github.com/anoma/juvix/pull/1522 )
([lukaszcz](https://github.com/lukaszcz))
- JuvixCore primitive types
[#1521 ](https://github.com/anoma/juvix/pull/1521 )
([lukaszcz](https://github.com/lukaszcz))
- Enable autocompletion for the – theme flag
[#1519 ](https://github.com/anoma/juvix/pull/1519 )
([janmasrovira](https://github.com/janmasrovira))
- Stripped version of Core Node datatype
[#1518 ](https://github.com/anoma/juvix/pull/1518 )
([lukaszcz](https://github.com/lukaszcz))
- Add `internal core read` command
[#1517 ](https://github.com/anoma/juvix/pull/1517 )
([janmasrovira](https://github.com/janmasrovira))
- Implement some instances for BinderList
[#1515 ](https://github.com/anoma/juvix/pull/1515 )
([janmasrovira](https://github.com/janmasrovira))
- Back recursor types with type families
[#1514 ](https://github.com/anoma/juvix/pull/1514 )
([janmasrovira](https://github.com/janmasrovira))
- Eager evaluation of Constr arguments
[#1513 ](https://github.com/anoma/juvix/pull/1513 )
([lukaszcz](https://github.com/lukaszcz))
- Dynamic type in Core
[#1508 ](https://github.com/anoma/juvix/pull/1508 )
([lukaszcz](https://github.com/lukaszcz))
- LetRec in Core [#1507 ](https://github.com/anoma/juvix/pull/1507 )
([lukaszcz](https://github.com/lukaszcz))
- Add Haddock and Agda licenses
[#1506 ](https://github.com/anoma/juvix/pull/1506 )
([janmasrovira](https://github.com/janmasrovira))
- Fix docs webapp examples CI build
[#1505 ](https://github.com/anoma/juvix/pull/1505 )
([paulcadman](https://github.com/paulcadman))
- Add CLI usage examples doc and integrate with README
[#1504 ](https://github.com/anoma/juvix/pull/1504 )
([paulcadman](https://github.com/paulcadman))
- Refactor BinderInfo
[#1503 ](https://github.com/anoma/juvix/pull/1503 )
([lukaszcz](https://github.com/lukaszcz))
- Make `juvix compile` default to native target
[#1502 ](https://github.com/anoma/juvix/pull/1502 )
([paulcadman](https://github.com/paulcadman))
- Refactor Node datatype
[#1501 ](https://github.com/anoma/juvix/pull/1501 )
([lukaszcz](https://github.com/lukaszcz))
- Clean up import list in Pipeline
[#1499 ](https://github.com/anoma/juvix/pull/1499 )
([jonaprieto](https://github.com/jonaprieto))
- Remove mono [#1497 ](https://github.com/anoma/juvix/pull/1497 )
([jonaprieto](https://github.com/jonaprieto))
- Remove Haskell support
[#1496 ](https://github.com/anoma/juvix/pull/1496 )
([jonaprieto](https://github.com/jonaprieto))
- Implement lambda lifting
[#1494 ](https://github.com/anoma/juvix/pull/1494 )
([janmasrovira](https://github.com/janmasrovira))
- Document Emacs installation and the 'exec-path' problem
[#1493 ](https://github.com/anoma/juvix/pull/1493 )
([lukaszcz](https://github.com/lukaszcz))
- Add – allow-different-user to workflow stack command
[#1492 ](https://github.com/anoma/juvix/pull/1492 )
([paulcadman](https://github.com/paulcadman))
- Stack with github actions permissions workaround
[#1490 ](https://github.com/anoma/juvix/pull/1490 )
([paulcadman](https://github.com/paulcadman))
- Restructure recursors and add some lens interfaces
[#1489 ](https://github.com/anoma/juvix/pull/1489 )
([janmasrovira](https://github.com/janmasrovira))
- Add a github action to build a static linux binary
[#1488 ](https://github.com/anoma/juvix/pull/1488 )
([paulcadman](https://github.com/paulcadman))
- Fix developBeta in Core/Extra.hs
[#1487 ](https://github.com/anoma/juvix/pull/1487 )
([lukaszcz](https://github.com/lukaszcz))
- Add an option to show name ids in errors
[#1486 ](https://github.com/anoma/juvix/pull/1486 )
([lukaszcz](https://github.com/lukaszcz))
## [v0.2.4](https://github.com/anoma/juvix/tree/v0.2.4) (2022-08-19)
[Full Changelog ](https://github.com/anoma/juvix/compare/v0.2.3...v0.2.4 )
(Special version for Heliax's retreat in Italy)
**Implemented enhancements:**
- Add – stdin flag [#1459 ](https://github.com/anoma/juvix/pull/1459 )
([janmasrovira](https://github.com/janmasrovira))
**Fixed bugs:**
- Fix typechecker [#1458 ](https://github.com/anoma/juvix/pull/1458 )
([janmasrovira](https://github.com/janmasrovira))
**Merged pull requests:**
- use – stdin in flycheck mode
[#1460 ](https://github.com/anoma/juvix/pull/1460 )
([janmasrovira](https://github.com/janmasrovira))
- Add a native compile target for demos
[#1457 ](https://github.com/anoma/juvix/pull/1457 )
([paulcadman](https://github.com/paulcadman))
- Small changes for the presentation
[#1456 ](https://github.com/anoma/juvix/pull/1456 )
([jonaprieto](https://github.com/jonaprieto))
- Fixes TicTacToe Web example
[#1454 ](https://github.com/anoma/juvix/pull/1454 )
([paulcadman](https://github.com/paulcadman))
- Upgrade to ghc-9.2.4
[#1451 ](https://github.com/anoma/juvix/pull/1451 )
([janmasrovira](https://github.com/janmasrovira))
## [v0.2.3](https://github.com/anoma/juvix/tree/v0.2.3) (2022-08-15)
[Full Changelog ](https://github.com/anoma/juvix/compare/v0.2.2...v0.2.3 )
**Implemented enhancements:**
- add `name` and `version` to `juvix.yaml`
[#1422 ](https://github.com/anoma/juvix/pull/1422 )
([janmasrovira](https://github.com/janmasrovira))
**Fixed bugs:**
- Properly handle paragraphs in judoc
[#1447 ](https://github.com/anoma/juvix/pull/1447 )
([janmasrovira](https://github.com/janmasrovira))
**Merged pull requests:**
- Give a proper type to literal natural numbers
[#1453 ](https://github.com/anoma/juvix/pull/1453 )
([janmasrovira](https://github.com/janmasrovira))
- Add the option to output json in the `juvix internal highlight`
command [#1450 ](https://github.com/anoma/juvix/pull/1450 )
([janmasrovira](https://github.com/janmasrovira)) for supporting the
new Juvix Mode for Visual Studio Code
([jonaprieto](https://github.com/anoma/vscode-juvix))
- Allow \_ in Wasm exported names to support Anoma signature
[#1449 ](https://github.com/anoma/juvix/pull/1449 )
([paulcadman](https://github.com/paulcadman))
- Add Towers of Hanoi and Pascal triangle examples
[#1446 ](https://github.com/anoma/juvix/pull/1446 )
([paulcadman](https://github.com/paulcadman))
- Add `juvix init` command
[#1445 ](https://github.com/anoma/juvix/pull/1445 )
([janmasrovira](https://github.com/janmasrovira))
- Refactor pretty to reduce duplication
[#1443 ](https://github.com/anoma/juvix/pull/1443 )
([janmasrovira](https://github.com/janmasrovira))
- Add initial support for examples in Html documentation
[#1442 ](https://github.com/anoma/juvix/pull/1442 )
([janmasrovira](https://github.com/janmasrovira))
- Add revisions to README
[#1440 ](https://github.com/anoma/juvix/pull/1440 )
([jonaprieto](https://github.com/jonaprieto))
- CI: Run build on push to main
[#1437 ](https://github.com/anoma/juvix/pull/1437 )
([paulcadman](https://github.com/paulcadman))
- Add doctor subcommand
[#1436 ](https://github.com/anoma/juvix/pull/1436 )
([paulcadman](https://github.com/paulcadman))
- CI checkout repo before cache and use recommended cache strategy
[#1435 ](https://github.com/anoma/juvix/pull/1435 )
([paulcadman](https://github.com/paulcadman))
- Various documentation adjustments
[#1434 ](https://github.com/anoma/juvix/pull/1434 )
([paulcadman](https://github.com/paulcadman))
- Setup Clang before building docs in CI
[#1433 ](https://github.com/anoma/juvix/pull/1433 )
([paulcadman](https://github.com/paulcadman))
- Major revisions to Makefile
[#1431 ](https://github.com/anoma/juvix/pull/1431 )
([jonaprieto](https://github.com/jonaprieto))
- Do not add `-src` suffix to links in HTML when running `juvix html`
[#1429 ](https://github.com/anoma/juvix/pull/1429 )
([paulcadman](https://github.com/paulcadman))
- Add a Web version of TicTacToe
[#1427 ](https://github.com/anoma/juvix/pull/1427 )
([paulcadman](https://github.com/paulcadman))
- WASM import all non-compile axioms with alphanum names in entrypoint
[#1426 ](https://github.com/anoma/juvix/pull/1426 )
([paulcadman](https://github.com/paulcadman))
- Export all functions with alpha numeric names from entrypoint module
[#1425 ](https://github.com/anoma/juvix/pull/1425 )
([paulcadman](https://github.com/paulcadman))
- Refactor [#1420 ](https://github.com/anoma/juvix/pull/1420 )
([jonaprieto](https://github.com/jonaprieto))
- Permit axiom without a compile block
[#1418 ](https://github.com/anoma/juvix/pull/1418 )
([paulcadman](https://github.com/paulcadman))
- Implement an html documentation generator similar to haddock (#1413)
[#1416 ](https://github.com/anoma/juvix/pull/1416 )
([janmasrovira](https://github.com/janmasrovira))
- Fix version shell test for 0.2.2
[#1415 ](https://github.com/anoma/juvix/pull/1415 )
([paulcadman](https://github.com/paulcadman))
- Remove Int from stdlib and update SimpleFungibleToken example
[#1414 ](https://github.com/anoma/juvix/pull/1414 )
([paulcadman](https://github.com/paulcadman))
## [v0.2.2](https://github.com/anoma/juvix/tree/v0.2.2) (2022-07-25)
[Full Changelog ](https://github.com/anoma/juvix/compare/v0.2.1...v0.2.2 )
**Implemented enhancements:**
- Compute name dependency graph and filter unreachable definitions
[#1408 ](https://github.com/anoma/juvix/pull/1408 )
([lukaszcz](https://github.com/lukaszcz))
- Support type aliases
[#1404 ](https://github.com/anoma/juvix/pull/1404 )
([janmasrovira](https://github.com/janmasrovira))
- Add debugging custom function to Prelude
[#1401 ](https://github.com/anoma/juvix/pull/1401 )
([jonaprieto](https://github.com/jonaprieto))
- Add positivity check for data types
[#1393 ](https://github.com/anoma/juvix/pull/1393 )
([jonaprieto](https://github.com/jonaprieto))
- Keep qualified names
[#1392 ](https://github.com/anoma/juvix/pull/1392 )
([janmasrovira](https://github.com/janmasrovira))
- Direct translation from MicroJuvix to MiniC
[#1386 ](https://github.com/anoma/juvix/pull/1386 )
([lukaszcz](https://github.com/lukaszcz))
- Widens the accepted symbol list
[#1385 ](https://github.com/anoma/juvix/pull/1385 )
([mariari](https://github.com/mariari))
- Check all the type parameter names are different when declaring an
inductive type [#1377 ](https://github.com/anoma/juvix/pull/1377 )
([jonaprieto](https://github.com/jonaprieto))
**Fixed bugs:**
- Curly braces are allowed nested in patterns
[#1380 ](https://github.com/anoma/juvix/pull/1380 )
([janmasrovira](https://github.com/janmasrovira))
**Merged pull requests:**
- Add `Fail` effect (#1409)
[#1411 ](https://github.com/anoma/juvix/pull/1411 )
([janmasrovira](https://github.com/janmasrovira))
- Refactor of typechecking and other checking processes
[#1410 ](https://github.com/anoma/juvix/pull/1410 )
([jonaprieto](https://github.com/jonaprieto))
- Use bold for code in scoper error messages
[#1403 ](https://github.com/anoma/juvix/pull/1403 )
([janmasrovira](https://github.com/janmasrovira))
- Replace ppSimple by text
[#1402 ](https://github.com/anoma/juvix/pull/1402 )
([jonaprieto](https://github.com/jonaprieto))
- Implement some error messages (#1396)
[#1400 ](https://github.com/anoma/juvix/pull/1400 )
([lukaszcz](https://github.com/lukaszcz))
- Refactor childs of pattern parentheses and braces
[#1398 ](https://github.com/anoma/juvix/pull/1398 )
([janmasrovira](https://github.com/janmasrovira))
- Update Juvix standard-library
[#1389 ](https://github.com/anoma/juvix/pull/1389 )
([jonaprieto](https://github.com/jonaprieto))
- Fix documentation generation
[#1387 ](https://github.com/anoma/juvix/pull/1387 )
([jonaprieto](https://github.com/jonaprieto))
- Adds Collatz sequence generator example
[#1384 ](https://github.com/anoma/juvix/pull/1384 )
([paulcadman](https://github.com/paulcadman))
- html-examples [#1381 ](https://github.com/anoma/juvix/pull/1381 )
([jonaprieto](https://github.com/jonaprieto))
- Refine hole in type signature to function type
[#1379 ](https://github.com/anoma/juvix/pull/1379 )
([janmasrovira](https://github.com/janmasrovira))
- Type checking fails when the type of a pattern is not given by the
signature [#1378 ](https://github.com/anoma/juvix/pull/1378 )
([janmasrovira](https://github.com/janmasrovira))
- Set cname for gh-pages action
[#1376 ](https://github.com/anoma/juvix/pull/1376 )
([paulcadman](https://github.com/paulcadman))
- Add fibonacci sequence example program
[#1375 ](https://github.com/anoma/juvix/pull/1375 )
([paulcadman](https://github.com/paulcadman))
- Fix Changelog links and minors
[#1371 ](https://github.com/anoma/juvix/pull/1371 )
([jonaprieto](https://github.com/jonaprieto))
- Add Version number to the emacs mode
[#1320 ](https://github.com/anoma/juvix/pull/1320 )
([mariari](https://github.com/mariari))
## New name: Juvix
Since version 0.2.2, the project has been renamed from "Mini Juvix" to
"Juvix". The new name reflects the fact that the project is no longer
just a compiler for a subset of Juvix, but a full implementation of the
language. Affected by this change are:
- Github repository moved from the Heliax organization to the Anoma
organization. "anoma/juvix" is the new repository name.
- All references to "Mini Juvix" have been replaced with "Juvix".
Unfortunetly,
due to the move, the old links to the Mini Juvix repository are broken
and will not be fixed.
## v0.2.1 (2022-07-12)
**Implemented enhancements:**
- Specialize commands of/for internal use MiniJuvix-#270
([jonaprieto](https://github.com/jonaprieto))
- Improve handling of location information for different objs
MiniJuvix-#263 ([jonaprieto](https://github.com/jonaprieto))
- Add issues and PR templates MiniJuvix-#261
([jonaprieto](https://github.com/jonaprieto))
- Throw error when reading a file that conflicts with embedded stdlib
MiniJuvix-#243 ([paulcadman](https://github.com/paulcadman))
- Embed standard library in the minijuvix binary MiniJuvix-#210
([paulcadman](https://github.com/paulcadman))
**Fixed bugs:**
- Fixed a bug with the path to walloc.c MiniJuvix-#237
([lukaszcz](https://github.com/lukaszcz))
- Perform ScopedToAbstract exactly once for each module MiniJuvix-#223
([paulcadman](https://github.com/paulcadman))
**Merged pull requests:**
- Label renaming MiniJuvix-#275
([jonaprieto](https://github.com/jonaprieto))
- Update link to discord MiniJuvix-#264
([Romainua](https://github.com/Romainua))
- Include `open import` statements when generating HTML MiniJuvix-#260
([paulcadman](https://github.com/paulcadman))
- Renaming MiniJuvix to Juvix MiniJuvix-#259
([jonaprieto](https://github.com/jonaprieto))
- Updates tests to use the updated standard library MiniJuvix-#253
([paulcadman](https://github.com/paulcadman))
- Enforce C99 standard in the generated C files MiniJuvix-#252
([lukaszcz](https://github.com/lukaszcz))
- Restore mascot images to the minijuvix book MiniJuvix-#250
([paulcadman](https://github.com/paulcadman))
- Allow jumping to another module in emacs MiniJuvix-#249
([janmasrovira](https://github.com/janmasrovira))
- Restore Juvix mascot image to README MiniJuvix-#248
([paulcadman](https://github.com/paulcadman))
- Add emacs option `minijuvix-disable-embedded-stdlib` MiniJuvix-#247
([paulcadman](https://github.com/paulcadman))
- Deprecate GHC backend MiniJuvix-#244
([lukaszcz](https://github.com/lukaszcz))
- Removed 'eval' and 'print' keywords (#214) MiniJuvix-#242
([lukaszcz](https://github.com/lukaszcz))
- Add option to disable minijuvix input method MiniJuvix-#239
([janmasrovira](https://github.com/janmasrovira))
- Remove the 'match' keyword MiniJuvix-#238
([lukaszcz](https://github.com/lukaszcz))
- Removed tests/positive/HelloWorld.mjuvix and specified clang version
in the documentation MiniJuvix-#236
([lukaszcz](https://github.com/lukaszcz))
- Filter symbol entries properly in the scoper MiniJuvix-#234
([janmasrovira](https://github.com/janmasrovira))
- Use the ModulesCache for `open` statements in ScopedToAbstract pass
MiniJuvix-#224 ([paulcadman](https://github.com/paulcadman))
- README: Include `--recursive` in git clone command to fetch stdlib
MiniJuvix-#211 ([paulcadman](https://github.com/paulcadman))
- Update project description v0.2.0 MiniJuvix-#209
([jonaprieto](https://github.com/jonaprieto))
- Unify AST representation of types and expressions in MicroJuvix
MiniJuvix-#188 ([janmasrovira](https://github.com/janmasrovira))
## v0.2.0 (2022-06-28)
**Implemented enhancements:**
- Support built in types MiniJuvix-#192
([janmasrovira](https://github.com/janmasrovira))
- Support partial application and closure passing in C backend
MiniJuvix-#190 ([paulcadman](https://github.com/paulcadman))
- Allow `open import` statements MiniJuvix-#175
([janmasrovira](https://github.com/janmasrovira))
- Remove TypeAny and adapt typechecking for literals MiniJuvix-#173
([janmasrovira](https://github.com/janmasrovira))
- Allow holes to be refined into function types MiniJuvix-#165
([janmasrovira](https://github.com/janmasrovira))
- Support implicit arguments MiniJuvix-#144
([janmasrovira](https://github.com/janmasrovira))
- Add support for holes in type signatures MiniJuvix-#141
([janmasrovira](https://github.com/janmasrovira))
- Support function closures with no environment in minic
MiniJuvix-#137 ([paulcadman](https://github.com/paulcadman))
- Add holes for expressions in function clauses and inference support
MiniJuvix-#136 ([janmasrovira](https://github.com/janmasrovira))
- Add "-Oz" optimization flag to clang args MiniJuvix-#133
([paulcadman](https://github.com/paulcadman))
- Add version and help option and root command to the CLI
MiniJuvix-#131 ([jonaprieto](https://github.com/jonaprieto))
**Fixed bugs:**
- Fix: Ignore implicit patterns and arguments in termination checking
MiniJuvix-#172 ([janmasrovira](https://github.com/janmasrovira))
- Fix: pretty printing for terminating keyword MiniJuvix-#145
([jonaprieto](https://github.com/jonaprieto))
**Merged pull requests:**
- Fix: proper error handling for typechecker errors MiniJuvix-#189
([jonaprieto](https://github.com/jonaprieto))
- Add juvix version info and date to HTML output MiniJuvix-#186
([jonaprieto](https://github.com/jonaprieto))
- Fix: Add check for constructor return types MiniJuvix-#182
([jonaprieto](https://github.com/jonaprieto))
- Use Abstract name in Abstract syntax and Micro/MonoJuvix
MiniJuvix-#181 ([janmasrovira](https://github.com/janmasrovira))
- Add an option to specify the path where to put the HTML output
MiniJuvix-#179 ([jonaprieto](https://github.com/jonaprieto))
- Upgrade to ghc-9.2.3 MiniJuvix-#178
([janmasrovira](https://github.com/janmasrovira))
- Replace dead link in README with a link to the Juvix book
MiniJuvix-#177 ([paulcadman](https://github.com/paulcadman))
- Embed HTML assets in the juvix binary MiniJuvix-#176
([paulcadman](https://github.com/paulcadman))
- Fix: identifiers with a keyword prefix cannot be parsed
MiniJuvix-#171 ([janmasrovira](https://github.com/janmasrovira))
- Improve filepath equality MiniJuvix-#170
([janmasrovira](https://github.com/janmasrovira))
- Update validity predicate milestone example to 0.2 syntax
MiniJuvix-#167 ([paulcadman](https://github.com/paulcadman))
- Fix links in documentation and update to new syntax MiniJuvix-#163
([paulcadman](https://github.com/paulcadman))
- Update stdlib to work with version 0.2 MiniJuvix-#160
([janmasrovira](https://github.com/janmasrovira))
- Update README usage example to use the compile command
MiniJuvix-#158 ([paulcadman](https://github.com/paulcadman))
- Remove dead code related to the pipeline MiniJuvix-#156
([janmasrovira](https://github.com/janmasrovira))
- Add negative test for AppLeftImplicit MiniJuvix-#154
([janmasrovira](https://github.com/janmasrovira))
- Add positive test designed for implicit arguments MiniJuvix-#153
([janmasrovira](https://github.com/janmasrovira))
- Remove ExpressionTyped from MicroJuvix MiniJuvix-#143
([janmasrovira](https://github.com/janmasrovira))
- Revision for package.yaml and minor deletions MiniJuvix-#135
([jonaprieto](https://github.com/jonaprieto))
## v0.1.4 (2022-05-30)
**Merged pull requests:**
- Generic Errors and refactoring MiniJuvix-#123
([jonaprieto](https://github.com/jonaprieto))
- Only generates docs if the pull request merges MiniJuvix-#121
([jonaprieto](https://github.com/jonaprieto))
- Add initial docs generation website MiniJuvix-#119
([jonaprieto](https://github.com/jonaprieto))
- Fix internal link in README MiniJuvix-#116
([paulcadman](https://github.com/paulcadman))
- Add minic-runtime for linking without libc MiniJuvix-#113
([paulcadman](https://github.com/paulcadman))
- Add termination checking to the pipeline MiniJuvix-#111
([jonaprieto](https://github.com/jonaprieto))
- Support uncurried higher order functions MiniJuvix-#110
([paulcadman](https://github.com/paulcadman))
- Improve error generation and handling MiniJuvix-#108
([janmasrovira](https://github.com/janmasrovira))
- Add MiniC tests with clang+wasi-sdk MiniJuvix-#105
([paulcadman](https://github.com/paulcadman))
- Add usage example and move developer docs MiniJuvix-#96
([paulcadman](https://github.com/paulcadman))
- Refactor warning related stuff MiniJuvix-#91
([janmasrovira](https://github.com/janmasrovira))
- Remove Agda backend MiniJuvix-#86
([paulcadman](https://github.com/paulcadman))
**Implemented enhancements:**
- Add `compile` subcommand to generate binaries MiniJuvix-#128
- Add intervals to flycheck errors MiniJuvix-#124
- Improve error handling in juvix-mode MiniJuvix-#107
- Support multiple modules in compilation MiniJuvix-#93
- Add compile command to CLI MiniJuvix-#130
([paulcadman](https://github.com/paulcadman))
- Use Interval in GenericErrors MiniJuvix-#125
([janmasrovira](https://github.com/janmasrovira))
- Remove dev in the CI and other tweaks MiniJuvix-#118
([jonaprieto](https://github.com/jonaprieto))
- Highlight comments correctly MiniJuvix-#106
([janmasrovira](https://github.com/janmasrovira))
- Support multiple modules in compilation MiniJuvix-#100
([janmasrovira](https://github.com/janmasrovira))
- New target syntax and modular VP examples MiniJuvix-#92
([jonaprieto](https://github.com/jonaprieto))
**Fixed bugs:**
- Missing error messages when using throw/error MiniJuvix-#117
- Fix highlight of comments MiniJuvix-#104
- Fix juvix-mode coloring for projects with multiple modules
MiniJuvix-#101
- Fix `highlight` command for modules with import statements
MiniJuvix-#102 ([janmasrovira](https://github.com/janmasrovira))
**Closed issues:**
- Deprecate the class JuvixError MiniJuvix-#115
- Add ToGenericError instance for the infix parsing errors
MiniJuvix-#114
- Compile to WASM without linking libc MiniJuvix-#112
- Add the termination checker to the pipeline MiniJuvix-#109
- Use clang + wasi-sdk instead of emcc to compile to WASM
MiniJuvix-#103
- Move developer tooling docs out of README MiniJuvix-#95
- Add pre-commit checks to CI checks MiniJuvix-#94
- Support higher order functions in C backend MiniJuvix-#90
- Remove dev from the list of branches in the CI MiniJuvix-#89
- Refactor warning related stuff MiniJuvix-#87
- The Juvix website MiniJuvix-#51
## v0.1.3 (2022-05-05)
**Closed issues:**
- Monomorphisation naming inconsistency MiniJuvix-#84
- Remove BackendAgda MiniJuvix-#83
- Change terminating keyword behavior MiniJuvix-#81
- MonoJuvix `ExpressionTyped` is never used MiniJuvix-#79
- Bump stackage nightly and delete `allow-newer: true` from
`stack.yaml` MiniJuvix-#75
- Generate automatically CHANGELOG and Github Release Notes
MiniJuvix-#73
- Make flag – show-name-ids global MiniJuvix-#61
- Add C code generation backend MiniJuvix-#60
- Add polymorphism MiniJuvix-#59
- Add the compile keyword to the frontend syntax (support up to
Scoping) MiniJuvix-#58
- Error with undefined or underscores MiniJuvix-#54
- Add support for other GHC and Stack stable version MiniJuvix-#52
- Autodetect output ANSI support when prettyprinting MiniJuvix-#38
- Terminating for type signatures MiniJuvix-#11
**Merged pull requests:**
- Remove agda backend MiniJuvix-#86
([paulcadman](https://github.com/paulcadman))
- 84 monomorphisation naming inconsistency MiniJuvix-#85
([janmasrovira](https://github.com/janmasrovira))
- Change terminating keyword behavior MiniJuvix-#82
([jonaprieto](https://github.com/jonaprieto))
- Remove unused constructor ExpressionTyped in Monojuvix MiniJuvix-#80
([janmasrovira](https://github.com/janmasrovira))
- Stricter stack builds and pedantic mode for CI MiniJuvix-#78
([jonaprieto](https://github.com/jonaprieto))
- Bump stackage version and remove allow-newer MiniJuvix-#76
([janmasrovira](https://github.com/janmasrovira))
- Add automatically updates/issues/merged PRs to the changelog
MiniJuvix-#74 ([jonaprieto](https://github.com/jonaprieto))
- Add terminating keyword MiniJuvix-#71
([jonaprieto](https://github.com/jonaprieto))
- Monomorphization MiniJuvix-#70
([janmasrovira](https://github.com/janmasrovira))
- Remove StatementCompile in AST after scoping MiniJuvix-#69
([paulcadman](https://github.com/paulcadman))
- Add C code generation backend MiniJuvix-#68
([paulcadman](https://github.com/paulcadman))
- Check if stderr supports ANSI and print accordingly MiniJuvix-#67
([janmasrovira](https://github.com/janmasrovira))
- Add support for compile (by Jonathan) MiniJuvix-#66
([paulcadman](https://github.com/paulcadman))
- Add NameIdGen effect to the pipeline MiniJuvix-#64
([janmasrovira](https://github.com/janmasrovira))
- Make the `--show-name-ids` flag global MiniJuvix-#63
([janmasrovira](https://github.com/janmasrovira))
- Implement type checker with polymorphism MiniJuvix-#62
([janmasrovira](https://github.com/janmasrovira))
## v0.1.2 (2022-04-11)
**Closed issues:**
- Add en emacs mode with support for scoped highlighting MiniJuvix-#25
- Add support for project root detection through a juvix.yaml file
MiniJuvix-#24
- Add CLI cmd to generate juvix autocompletion files for fish and zsh
MiniJuvix-#23
- Add pretty and typecheck subcommands to the microjuvix CLI
MiniJuvix-#21
- Translate identifiers from MicroJuvix to MiniHaskell (valid Haskell)
MiniJuvix-#19
- Implement the MiniHaskell to Haskell translation (prettyprinter)
MiniJuvix-#18
- Implementation of a typechecker for MicroJuvix MiniJuvix-#16
- Add references to the Abstract AST to update compilation to
MiniHaskell MiniJuvix-#12
- Order in the house MiniJuvix-#10
**Merged pull requests:**
- The Juvix project now follows the same goals as the original Juvix
project. MiniJuvix-#7 ([jonaprieto](https://github.com/jonaprieto))
- Dev→main MiniJuvix-#6 ([jonaprieto](https://github.com/jonaprieto))
- Big update including termination checking MiniJuvix-#5
([janmasrovira](https://github.com/janmasrovira))
- Parser and scoper MiniJuvix-#3
([jonaprieto](https://github.com/jonaprieto))
- Upgrade to ghc9 and use hpack MiniJuvix-#2
([janmasrovira](https://github.com/janmasrovira))
- Merge MiniJuvix-#1 ([jonaprieto](https://github.com/jonaprieto))
## v0.1.1 (2022-03-25)
- Add support in the parser/scoper for Axiom backends
- Add support for `foreign` keyword
- Add flag `--no-colors` for the scope command
- Upgrade to GHC 9.2.2
- Improve resolution of local symbols in the scoper
- Several new tests related to ambiguous symbols
- Add `--version` flag
- Add InfoTableBuilder effect for the scoper
**Closed issues:**
- Add diff output to the test suite MiniJuvix-#9
- Improve scoper ambiguity error messages MiniJuvix-#8