v0.9.0
More than 900 patches since last release 😅
Here is an overview of some visible changes
What's Changed
- Embed the Pygments lexers in Catala by @AltGr in #428
- Add date rounding option in scope by @rmonat in #397
- Add support for let .. in constructions in Z3 backend by @R1kM in #434
- Add common linting passes to Catala by @denismerigoux in #438
- Adding an interpreter to lcalc by @adelaett in #432
- Vastly improve the printer by @AltGr in #450
- Print exception tree for fun and profit by @denismerigoux in #447
- Add experimental lazy interpreter as a plugin by @AltGr in #453
- Feat: add a ReScript runtime and a wrapper for
french_law.js
by @EmileRolley in #464 - Information about variable I/O in log events by @denismerigoux in #469
- Improve compiler messages dev interface by @denismerigoux in #470
- Improve unused scope variable detection by @denismerigoux in #472
- Switch from ANSITerminal to ocolor by @AltGr in #474
- Preliminary support for modules/externals + CLI subcommands by @AltGr in #478
- Implementing closure conversion by @denismerigoux in #475
- Add an
explain
plugin ; improve printers by @AltGr in #489 - Clearer errors by @Aminata-Dev in #481
- R backend for Catala by @denismerigoux in #496
- Module support: handle structs, enums and scope calls across modules by @AltGr in #497
- Define ANSI style at Uid level, update ocamlformat by @AltGr in #501
- Improvements to searching for libs at runtime (plugins, runtime, etc.) by @AltGr in #502
- Optim: avoid extra translations in the interpreter by @AltGr in #519
- Rehaul the Clerk build system by @AltGr in #512
- Improve trace printing by @denismerigoux in #523
- Clerk and testing improvements, rework resolution of module elements by @AltGr in #535
- Fix LaTeX weaving failing with code blocks by @denismerigoux in #544
- Document and first test for externals by @AltGr in #538
- Fixes decimal user-facing printer bug by @denismerigoux in #552
- [breaking changes] update syntax and CLI by @AltGr in #546
- Add tuples to the surface language, allow tuples for argument passing by @AltGr in #554
- Unify rounding operations in OCaml runtime by @pierregoutagny in #557
- Fixes wrong typing for date subtraction operator by @denismerigoux in #559
- Fixes missing minus sign printing for small negative amounts of money by @denismerigoux in #560
- Move examples and french_law to their own repositories by @AltGr in #527
- Allow literal scope output structures by @AltGr in #564
- Improve missing field error message by @denismerigoux in #566
Full Changelog: 0.8.0...0.9.0