Releases: anoma/juvix
v0.2.4
v0.2.4 (2022-08-19)
(Special version for Heliax retreat in Italy)
Implemented enhancements:
- Add --stdin flag #1459 (janmasrovira)
Fixed bugs:
- Fix typechecker #1458 (janmasrovira)
Merged pull requests:
- use --stdin in flycheck mode #1460 (janmasrovira)
- Add a native compile target for demos #1457 (paulcadman)
- Small changes for the presentation #1456 (jonaprieto)
- Fixes TicTacToe Web example #1454 (paulcadman)
- Upgrade to ghc-9.2.4 #1451 (janmasrovira)
v0.2.3
v0.2.3 (2022-08-15)
Implemented enhancements:
- add
name
andversion
tojuvix.yaml
#1422 (janmasrovira)
Fixed bugs:
- Properly handle paragraphs in judoc #1447 (janmasrovira)
Merged pull requests:
- Give a proper type to literal natural numbers #1453 (janmasrovira)
- Add the option to output json in the
juvix internal highlight
command #1450
(janmasrovira) for supporting the new Juvix Mode for VSCode (jonaprieto) - Allow _ in Wasm exported names to support Anoma signature #1449 (paulcadman)
- Add Towers of Hanoi and Pascal triangle examples #1446 (paulcadman)
- Add
juvix init
command #1445 (janmasrovira) - Refactor pretty to reduce duplication #1443 (janmasrovira)
- Add initial support for examples in Html documentation #1442 (janmasrovira)
- Add revisions to README #1440 (jonaprieto)
- CI: Run build on push to main #1437 (paulcadman)
- Add doctor subcommand #1436 (paulcadman)
- CI checkout repo before cache and use recommended cache strategy #1435 (paulcadman)
- Various documentation adjustments #1434 (paulcadman)
- Setup Clang before building docs in CI #1433 (paulcadman)
- Major revisions to Makefile #1431 (jonaprieto)
- Do not add
-src
suffix to links in HTML when runningjuvix html
#1429 (paulcadman) - Add a Web version of TicTacToe #1427 (paulcadman)
- WASM import all non-compile axioms with alphanum names in entrypoint #1426 (paulcadman)
- Export all functions with alpha numeric names from entrypoint module #1425 (paulcadman)
- Refactor #1420 (jonaprieto)
- Permit axiom without a compile block #1418 (paulcadman)
- Implement an html documentation generator similar to haddock (#1413) #1416 (janmasrovira)
- Fix version shell test for 0.2.2 #1415 (paulcadman)
- Remove Int from stdlib and update SimpleFungibleToken example #1414 (paulcadman)
v0.2.2
v0.2.2 (2022-07-25)
Implemented enhancements:
- Compute name dependency graph and filter unreachable definitions #1408 (lukaszcz)
- Support type aliases #1404 (janmasrovira)
- Add debugging custom function to Prelude #1401 (jonaprieto)
- Add positivity check for data types #1393 (jonaprieto)
- Keep qualified names #1392 (janmasrovira)
- Direct translation from MicroJuvix to MiniC #1386 (lukaszcz)
- Widens the accepted symbol list #1385 (mariari)
- Check all the type parameter names are different when declaring an inductive type #1377 (jonaprieto)
Fixed bugs:
- Curly braces are allowed nested in patterns #1380 (janmasrovira)
Merged pull requests:
- Add
Fail
effect (#1409) #1411 (janmasrovira) - Refactor of typechecking and other checking processes #1410 (jonaprieto)
- Use bold for code in scoper error messages #1403 (janmasrovira)
- Replace ppSimple by text #1402 (jonaprieto)
- Implement some error messages (#1396) #1400 (lukaszcz)
- Refactor childs of pattern parentheses and braces #1398 (janmasrovira)
- Update Juvix standard-library #1389 (jonaprieto)
- Fix documentation generation #1387 (jonaprieto)
- Adds Collatz sequence generator example #1384 (paulcadman)
- html-examples #1381 (jonaprieto)
- Refine hole in type signature to function type #1379 (janmasrovira)
- Type checking fails when the type of a pattern is not given by the signature #1378 (janmasrovira)
- Set cname for gh-pages action #1376 (paulcadman)
- Add fibonacci sequence example program #1375 (paulcadman)
- Fix Changelog links and minors #1371 (jonaprieto)
- Add Version number to the emacs mode #1320 (mariari)
v0.2.1
v0.2.1 (2022-07-12)
(release originally created by @jonaprieto, ported to this repository by @cwgoes)
MiniJuvix is now Juvix
Implemented enhancements:
- Specialize commands of/for internal use #270 (jonaprieto)
- Improve handling of location information for different objs #263 (jonaprieto)
- Add issues and PR templates #261 (jonaprieto)
- Throw error when reading a file that conflicts with embedded stdlib #243 (paulcadman)
- Embed standard library in the minijuvix binary #210 (paulcadman)
Fixed bugs:
- Fixed a bug with the path to walloc.c #237 (lukaszcz)
- Perform ScopedToAbstract exactly once for each module #223 (paulcadman)
Merged pull requests:
- Label renaming #275 (jonaprieto)
- Update link to discord #264 (Romainua)
- Include
open import
statements when generating HTML #260 (paulcadman) - Renaming MiniJuvix to Juvix #259 (jonaprieto)
- Updates tests to use the updated standard library #253 (paulcadman)
- Enforce C99 standard in the generated C files #252 (lukaszcz)
- Restore mascot images to the minijuvix book #250 (paulcadman)
- Allow jumping to another module in emacs #249 (janmasrovira)
- Restore Juvix mascot image to README #248 (paulcadman)
- Add emacs option
minijuvix-disable-embedded-stdlib
#247 (paulcadman) - Deprecate GHC backend #244 (lukaszcz)
- Removed 'eval' and 'print' keywords (#214) #242 (lukaszcz)
- Add option to disable minijuvix input method #239 (janmasrovira)
- Remove the 'match' keyword #238 (lukaszcz)
- Removed tests/positive/HelloWorld.mjuvix and specified clang version in the documentation #236 (lukaszcz)
- Filter symbol entries properly in the scoper #234 (janmasrovira)
- Use the ModulesCache for
open
statements in ScopedToAbstract pass #224 (paulcadman) - README: Include
--recursive
in git clone command to fetch stdlib #211 (paulcadman) - Update project description v0.2.0 #209 (jonaprieto)
- Unify AST representation of types and expressions in MicroJuvix #188 (janmasrovira)
v0.2.0
(release originally created by @jonaprieto, ported to this repository by @cwgoes)
Full changelog: anoma/minijuvix@v0.1.4...v0.2.0
What's Changed
- Add "-Oz" optimization flag to clang args by @paulcadman in anoma/minijuvix#133
- Revision for package.yaml and minor deletions by @jonaprieto in anoma/minijuvix#135
- Add holes for expressions in function clauses and inference support by @janmasrovira in anoma/minijuvix#136
- Add support for holes in type signatures by @janmasrovira in anoma/minijuvix#141
- Fix: pretty printing for terminating keyword by @jonaprieto in anoma/minijuvix#145
- Add version and help option and root command to the CLI by @jonaprieto in anoma/minijuvix#131
- Support function closures with no environment in minic by @paulcadman in anoma/minijuvix#137
- Support implicit arguments by @janmasrovira in anoma/minijuvix#144
- Add positive test designed for implicit arguments by @janmasrovira in anoma/minijuvix#153
- Remove dead code related to the pipeline by @janmasrovira in anoma/minijuvix#156
- Add negative test for AppLeftImplicit by @janmasrovira in anoma/minijuvix#154
- Update README usage example to use the compile command by @paulcadman in anoma/minijuvix#158
- Update stdlib to work with version 0.2 by @janmasrovira in anoma/minijuvix#160
- Fix links in documentation and update to new syntax by @paulcadman in anoma/minijuvix#163
- Allow holes to be refined into function types by @janmasrovira in anoma/minijuvix#165
- Improve filepath equality by @janmasrovira in anoma/minijuvix#170
- Update validity predicate milestone example to 0.2 syntax by @paulcadman in anoma/minijuvix#167
- Remove TypeAny and adapt typechecking for literals by @janmasrovira in anoma/minijuvix#173
- Fix: Ignore implicit patterns and arguments in termination checking by @janmasrovira in anoma/minijuvix#172
- Fix: identifiers with a keyword prefix cannot be parsed by @janmasrovira in anoma/minijuvix#171
- Allow
open import
statements by @janmasrovira in anoma/minijuvix#175 - Embed HTML assets in the minijuvix binary by @paulcadman in anoma/minijuvix#176
- Replace dead link in README with a link to the MiniJuvix book by @paulcadman in anoma/minijuvix#177
- Remove ExpressionTyped from MicroJuvix by @janmasrovira in anoma/minijuvix#143
- Use Abstract name in Abstract syntax and Micro/MonoJuvix by @janmasrovira in anoma/minijuvix#181
- Upgrade to ghc-9.2.3 by @janmasrovira in anoma/minijuvix#178
- Add an option to specify the path where to put the HTML output by @jonaprieto in anoma/minijuvix#179
- Add minijuvix version info and date to HTML output by @jonaprieto in anoma/minijuvix#186
- Fix: Add check for constructor return types by @jonaprieto in anoma/minijuvix#182
- Fix: proper error handling for typechecker errors by @jonaprieto in anoma/minijuvix#189
- Support partial application and closure passing in C backend by @paulcadman in anoma/minijuvix#190
- Support built in types by @janmasrovira in anoma/minijuvix#192
Full Changelog: anoma/minijuvix@v0.1.4...v0.2.0
v0.1.4
v0.1.4 (2022-05-30)
(release originally created by @jonaprieto, ported to this repository by @cwgoes)
Merged pull requests:
- Generic Errors and refactoring #123 (jonaprieto)
- Only generates docs if the pull request merges #121 (jonaprieto)
- Add initial docs generation website #119 (jonaprieto)
- Fix internal link in README #116 (paulcadman)
- Add minic-runtime for linking without libc #113 (paulcadman)
- Add termination checking to the pipeline #111 (jonaprieto)
- Support uncurried higher order functions #110 (paulcadman)
- Improve error generation and handling #108 (janmasrovira)
- Add MiniC tests with clang+wasi-sdk #105 (paulcadman)
- Add usage example and move developer docs #96 (paulcadman)
- Refactor warning related stuff #91 (janmasrovira)
- Remove Agda backend #86 (paulcadman)
Implemented enhancements:
- Add
compile
subcommand to generate binaries #128 - Add intervals to flycheck errors #124
- Improve error handling in minijuvix-mode #107
- Support multiple modules in compilation #93
- Add compile command to CLI #130 (paulcadman)
- Use Interval in GenericErrors #125 (janmasrovira)
- Remove dev in the CI and other tweaks #118 (jonaprieto)
- Highlight comments correctly #106 (janmasrovira)
- Support multiple modules in compilation #100 (janmasrovira)
- New target syntax and modular VP examples #92 (jonaprieto)
Fixed bugs:
- Missing error messages when using throw/error #117
- Fix highlight of comments #104
- Fix minijuvix-mode coloring for projects with multiple modules #101
- Fix
highlight
command for modules with import statements #102 (janmasrovira)
Closed issues:
- Deprecate the class JuvixError #115
- Add ToGenericError instance for the infix parsing errors #114
- Compile to WASM without linking libc #112
- Add the termination checker to the pipeline #109
- Use clang + wasi-sdk instead of emcc to compile to WASM #103
- Move developer tooling docs out of README #95
- Add pre-commit checks to CI checks #94
- Support higher order functions in C backend #90
- Remove dev from the list of branches in the CI #89
- Refactor warning related stuff #87
- The MiniJuvix website #51
v0.1.3
v0.1.3 (2022-05-05)
(release originally created by @jonaprieto, ported to this repository by @cwgoes)
Merged pull requests:
- Remove agda backend #86 (paulcadman)
- 84 monomorphisation naming inconsistency #85 (janmasrovira)
- Change terminating keyword behavior #82 (jonaprieto)
- Remove unused constructor ExpressionTyped in Monojuvix #80 (janmasrovira)
- Stricter stack builds and pedantic mode for CI #78 (jonaprieto)
- Bump stackage version and remove allow-newer #76 (janmasrovira)
- Add automatically updates/issues/merged PRs to the changelog #74 (jonaprieto)
- Add terminating keyword #71 (jonaprieto)
- Monomorphization #70 (janmasrovira)
- Remove StatementCompile in AST after scoping #69 (paulcadman)
- Add C code generation backend #68 (paulcadman)
- Check if stderr supports ANSI and print accordingly #67 (janmasrovira)
- Add support for compile (by Jonathan) #66 (paulcadman)
- Add NameIdGen effect to the pipeline #64 (janmasrovira)
- Make the
--show-name-ids
flag global #63 (janmasrovira) - Implement type checker with polymorphism #62 (janmasrovira)
Closed issues:
- Monomorphisation naming inconsistency #84
- Remove BackendAgda #83
- Change terminating keyword behavior #81
- MonoJuvix
ExpressionTyped
is never used #79 - Bump stackage nightly and delete
allow-newer: true
fromstack.yaml
#75 - Generate automatically CHANGELOG and Github Release Notes #73
- Make flag --show-name-ids global #61
- Add C code generation backend #60
- Add polymorphism #59
- Add the compile keyword to the frontend syntax (support up to Scoping) #58
- Error with undefined or underscores #54
- Add support for other GHC and Stack stable version #52
- Autodetect output ANSI support when prettyprinting #38
- Terminating for type signatures #11
v0.1.2
(release originally created by @jonaprieto, ported to this repository by @cwgoes)
What's Changed
- merge by @jonaprieto in anoma/minijuvix#1
- upgrade to ghc9 and use hpack by @janmasrovira in anoma/minijuvix#2
- Parser and scoper by @jonaprieto in anoma/minijuvix#3
- Big update including termination checking by @janmasrovira in anoma/minijuvix#5
- dev→main by @jonaprieto in anoma/minijuvix#6
- The MiniJuvix project now follows the same goals as the original Juvix project. by @jonaprieto in anoma/minijuvix#7
Full Changelog: https://github.com/heliaxdev/minijuvix/commits/v0.1.2
v0.1.1
(release originally created by @jonaprieto, ported to this repository by @cwgoes)
What's Changed
- merge by @jonaprieto in anoma/minijuvix#1
- upgrade to ghc9 and use hpack by @janmasrovira in anoma/minijuvix#2
- Parser and scoper by @jonaprieto in anoma/minijuvix#3
- Big update including termination checking by @janmasrovira in anoma/minijuvix#5
- dev→main by @jonaprieto in anoma/minijuvix#6
- The MiniJuvix project now follows the different goals by @jonaprieto in anoma/minijuvix#7
- v0.1.1 by @jonaprieto in anoma/minijuvix#15
Full Changelog: https://github.com/heliaxdev/minijuvix/commits/v0.1.1