mirror of
https://github.com/CatalaLang/catala.git
synced 2024-11-08 07:51:43 +03:00
deb12d2c4a
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
46 lines
867 B
Nix
46 lines
867 B
Nix
{ lib
|
|
, buildDunePackage
|
|
, odoc
|
|
, re
|
|
, ansiterminal
|
|
, cmdliner
|
|
, ninja_utils
|
|
, alcotest
|
|
, catala
|
|
, ninja
|
|
, colordiff
|
|
}:
|
|
|
|
buildDunePackage {
|
|
pname = "clerk";
|
|
version = "0.8.0"; # TODO parse `catala.opam` with opam2json
|
|
|
|
minimumOCamlVersion = "4.11";
|
|
|
|
src = ../.;
|
|
|
|
duneVersion = "3";
|
|
|
|
propagatedBuildInputs = [
|
|
odoc
|
|
re
|
|
ansiterminal
|
|
cmdliner
|
|
ninja_utils
|
|
alcotest
|
|
catala
|
|
];
|
|
|
|
# todo: the current colordiff in nixpkgs always prints the banner. This make the logs totally unreadable.
|
|
nativeBuildInputs = [ catala ninja colordiff ];
|
|
doCheck = true;
|
|
|
|
meta = with lib; {
|
|
homepage = "https://github.com/CatalaLang/catala";
|
|
description =
|
|
"Build system for Catala, a specification language for tax and social benefits computation rules";
|
|
license = licenses.asl20;
|
|
maintainers = with maintainers; [ ];
|
|
};
|
|
}
|