catala/.nix/clerk.nix

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

46 lines
867 B
Nix
Raw Normal View History

{ lib
, buildDunePackage
, odoc
, re
, ansiterminal
, cmdliner
, ninja_utils
, alcotest
, catala
, ninja
, colordiff
}:
buildDunePackage {
2022-06-07 09:36:15 +03:00
pname = "clerk";
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 15:27:16 +03:00
version = "0.8.0"; # TODO parse `catala.opam` with opam2json
minimumOCamlVersion = "4.11";
src = ../.;
2022-09-05 13:47:52 +03:00
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; [ ];
};
}