mirror of
https://github.com/anoma/juvix.git
synced 2024-09-11 08:15:41 +03:00
2115 lines
127 KiB
Markdown
2115 lines
127 KiB
Markdown
# 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>
|
||
|
||
## [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))
|
||
|
||
## [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))
|
||
|
||
## [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))
|
||
|
||
## [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))
|
||
|
||
## [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)
|
||
|
||
[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))
|
||
|
||
## [0.5.1](https://github.com/anoma/juvix/tree/v0.5.1) (2023-09-15)
|
||
|
||
[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))
|
||
|
||
## [v0.5.0](https://github.com/anoma/juvix/tree/v0.5.0) (2023-09-14)
|
||
|
||
[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))
|
||
|
||
## [v0.4.3](https://github.com/anoma/juvix/tree/v0.4.3) (2023-08-24)
|
||
|
||
[Full Changelog](https://github.com/anoma/juvix/compare/v0.4.2...v0.4.3)
|
||
|
||
**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))
|
||
|
||
## [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))
|
||
|
||
## [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))
|
||
|
||
## [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))
|
||
|
||
## [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))
|
||
|
||
## [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))
|
||
|
||
## [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))
|
||
|
||
## [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))
|
||
|
||
## [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))
|
||
|
||
## [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
|