v0.3.0
What's Changed
- Fix macOS CI build by @paulcadman in #1747
- Fix link in README for the new docs by @lukaszcz in #1745
- Adapt Juvix programs to the new pipeline by @lukaszcz in #1746
- Move juvix-mode to a separate repository by @jonaprieto in #1744
- Fix demo example build by @paulcadman in #1757
- Update CI to install Smoke, Github actions, and Makefile fixes by @jonaprieto in #1735
- Remove hlint from the CI and pre-commit config by @jonaprieto in #1759
- Translate Nat builtins to the correct Core Ops by @paulcadman in #1760
- Print comments when pretty printing concrete syntax by @janmasrovira in #1737
- Improve arity inference for repl expressions by @janmasrovira in #1762
- Fix broken links and other improvements by @jonaprieto in #1761
- Fix let expressions in the repl by @janmasrovira in #1763
- Run the new Juvix formatter for all the Juvix examples by @jonaprieto in #1764
- Install wasmer binary from Github releases by @jonaprieto in #1765
- Lazy boolean operators by @lukaszcz in #1743
- Use absolute path in Core Evaluator to generate source file location by @paulcadman in #1769
- Parse JuvixCore with absolute paths by @paulcadman in #1770
- Add debugging builtin functions
trace
andfail
by @jonaprieto in #1771 - Keep regular comments in html output by @janmasrovira in #1766
- Update pre-commit by @jonaprieto in #1772
- Add builtin nat and bool types as start nodes in reachability analysis by @paulcadman in #1775
- Fix minor issue with ==% for type equality by @jonaprieto in #1780
- Pipes for lambda clauses by @janmasrovira in #1781
- Track builtins in the Core InfoTable by @paulcadman in #1782
- Allow type signatures to have a body by @janmasrovira in #1785
- Translate as-pattern binders to Core PatternBinders by @paulcadman in #1789
- Fix termination with as-patterns by @janmasrovira in #1787
- String builtins by @lukaszcz in #1784
- Use restore/save github action to speed up the CI testing by @jonaprieto in #1783
- Basic Geb integration by @lukaszcz in #1748
- Use the reader effect by @janmasrovira in #1791
- Add REPL option to apply Core transformations by @paulcadman in #1796
- Adapt benchmarks to the new pipeline by @lukaszcz in #1795
- Remove braces from let expressions by @janmasrovira in #1790
- Support letrec lifting without lambda lifting by @janmasrovira in #1794
- Autocompletion for
dev core compilation --target
by @janmasrovira in #1803 - Support integers in the GEB backend by @lukaszcz in #1778
- Mid-square hashing implemented in JuvixCore by @lukaszcz in #1804
- Remove the usage annotation syntax by @lukaszcz in #1805
- Special syntax for case by @janmasrovira in #1800
- Short syntax for sequences of function and datatype parameters by @lukaszcz in #1809
- Documentation: how to compile Juvix programs by @lukaszcz in #1813
- Output proper GEB Lisp programs by @lukaszcz in #1810
- Comments about the usage of the JuvixCore recursors by @lukaszcz in #1818
- Workaround ghcup issue on CI runner by @paulcadman in #1821
- Add internal core-eval option to evaluate named function identifier by @paulcadman in #1819
- Update the Juvix tutorial for 0.3 by @lukaszcz in #1822
- Apply CI ghcup workaround to docs build by @paulcadman in #1823
- Make '>>' lazy by @lukaszcz in #1812
- Emacs mode and VSCode extension tutorials by @lukaszcz in #1815
- The formatter respects the ascii function arrow by @janmasrovira in #1834
- Add
dev core from-concrete
command by @janmasrovira in #1833 - Respect the
juvix dev highlight --format
flag when outputting errors by @janmasrovira in #1820 - Respect lambda Ascii/Unicode by @janmasrovira in #1838
- Documentation: update language reference by @lukaszcz in #1829
- Fix
juvix init
by @janmasrovira in #1835 - Give proper errors for incorrect application of lazy builtins by @lukaszcz in #1830
- Add lambda type info by @janmasrovira in #1845
- Improve formatter by @janmasrovira in #1840
- Improve comma formatting by @janmasrovira in #1842
- Add compilation of complex pattern matching to case by @paulcadman in #1824
- Remove module parameters by @janmasrovira in #1848
- Add type annotation to case expression by @janmasrovira in #1849
- Preserve single wildcards pretty printing function parameters by @paulcadman in #1851
- Add type info to the mid-square hashing function by @lukaszcz in #1853
- Sort the identifiers topologically in the Core-to-GEB translation by @lukaszcz in #1854
- Use APE mechanism to format Function expressions by @paulcadman in #1852
- Format examples by @janmasrovira in #1856
- Allow shadowing local variables with let function definitions by @janmasrovira in #1847
- remove old minihaskell files by @jonaprieto in #1859
- Add Geb Backend Evaluator with some extra subcommands by @jonaprieto in #1808
- Move
substEnv
to its own module by @janmasrovira in #1861 - Add
_caseTypeWholeExpression
to Internal by @janmasrovira in #1860 - Fix bugs in the Case translation in Core-to-Geb by @lukaszcz in #1858
- Fix Core-To-Geb translation by @jonaprieto in #1863
- Use Ape to format patterns by @janmasrovira in #1870
- Update stack resolver to lts-20.12 by @paulcadman in #1873
- Fix type synonym in let by @janmasrovira in #1880
- New compilation pipeline by @lukaszcz in #1832
- Remove the old C backend by @lukaszcz in #1862
- Remove dead code in
Internal
by @janmasrovira in #1891 - Remove missing Juvix examples and webapp example from docs build by @paulcadman in #1890
- Prepare Release 0.3.0 by @paulcadman in #1892
Full Changelog: v0.2.9...v0.3.0