Commit Graph

15 Commits

Author SHA1 Message Date
Louis Gesbert
cf8f365cf7 Extract Catala version from dune
(avoids multiple, possibly inconsistent, definitions ; also syncs up Clerk
versions with Catala)
2023-09-27 13:08:15 +02:00
Louis Gesbert
ab365b25b3 Clerk: replace colordiff with diff --color
This should be available mostly everywhere now (first appeared in e.g. Ubuntu
18) and avoids the need for an additional run-time dependency.
2023-08-02 15:12:31 +02:00
Louis Gesbert
f35825a9c1 Update CI build 2023-08-02 12:22:24 +02:00
Louis Gesbert
c564e70636 Correctly setup ocolor on all output channels
(and some cleanup of the remaining deps to ANSITerminal)
2023-06-08 12:14:11 +02:00
Louis Gesbert
deb12d2c4a Bump version to 0.8.0
Changelog:
---

A lot has been going on, with more than 530 patches and 70 PRs merged since
0.7.0 last summer. In summary:

- Quite a lot of syntax improvements and changes. Checkout the latest
  [cheat-sheet](https://catalalang.github.io/catala/syntax.pdf) for an overview

- Allow local `let ... equals ... in ...` definitions

- Better error messages and positions throughout

- Added the ability to directly call a scope and retrieve its outputs, like a
  function

- Added disambiguation, allowing to access structure fields without specifying
  the structure type each time

- Added automated resolution of operators, allowing e.g. to write just `+` in
  place of all the type-specific operators `+.`, `+$`, `+@`, `+^`, etc.

- More consistent priority for operators. It is no longer allowed to write `a
  and b or c` without parenthesis.

- Added and changed some operators (`date + duration` now allowed either way,
  `int / int` now returns a decimal, added `duration / duration`)

- Added the ability to have variables and functions defined at
  top-level (outside of any scope). See annex A of the tutorial for details.

- Added support for functions with multiple arguments

- Some big refactors in the compiler, allowing much better code sharing between
  the different passes, and making it much easier to extend. Also added the
  possibility to run the type-checker earlier, etc.

- Countless bug-fixes

- Improvements to our proof backend with Z3

- A tool to automatically synchronise with the upstream French law from
  Legifrance
2023-03-08 18:07:53 +01:00
Denis Merigoux
03e598128a
Bumping version number 2022-08-08 17:26:07 +02:00
Louis Gesbert
dfccf8e139 Run all CI tests through a Docker container
Also reworks some dependency handling
2022-07-20 12:05:17 +02:00
Louis Gesbert
6837af4e80 Upgrade Cmdliner dep 2022-05-09 11:39:18 +02:00
Louis Gesbert
4974628bf1 Add ninja depext to clerk opam package def 2022-05-09 11:37:41 +02:00
Louis Gesbert
971dd82691 Disable dune generated opam files
They avoid a bit of duplication, but don't support depexts and having to
commit the generated opam files means that, often, the wrong file is
fixed.
2022-05-09 11:34:15 +02:00
Denis Merigoux
c5d63148f8
Fix dune build -p catala @runtest 2022-03-08 11:28:42 +01:00
Denis Merigoux
2d63a08f23
Removed extra newlines 2022-03-07 19:41:27 +01:00
Denis Merigoux
8fb681baa1
Bump version to 0.6.0
Changelog:
* Catala as a proof platform (Z3 backend, safety checks)
* More expressivity for exceptions
* Multiple states for one variable
* Build system relying on ninja-build
* Better debug printers
* Alternative compilation mode without try ... with exceptions
2022-03-07 19:35:56 +01:00
Emile Rolley
f277f272d1 test(clerk): setup alcotest + two first tests 2022-02-25 20:30:05 +01:00
Emile Rolley
f4ab6f5a96 build(clerk/opam): add a clerk opam package and a clerk.driver library to test 2022-02-25 18:14:07 +01:00