Commit Graph

59 Commits

Author SHA1 Message Date
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
Raphaël Monat
f60cfcc435 Merge branch 'master' of github.com:CatalaLang/catala into dates_calc_lib 2022-08-30 15:14:51 +02:00
Louis Gesbert
2b6ee8dd4b Leverage the shared AST: big cleanup (part I) 2022-08-22 19:28:21 +02:00
Denis Merigoux
e5aed3efcb
Merge branch 'master' into rmonat_dates_calc_lib 2022-08-19 14:59:46 +02:00
Denis Merigoux
03e598128a
Bumping version number 2022-08-08 17:26:07 +02:00
Raphaël Monat
4f12338d49 Switch from calendarlib to in-house dates_calc 2022-08-06 17:07:01 +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
Louis Gesbert
9456ace6b1 Make z3 an optional dependency, add 'make dependencies-noz3'
Also the CI will no longer compile/use z3
2022-03-09 12:53:17 +01:00
Denis Merigoux
65a5a42c16
Change settings 2022-03-08 15:01:18 +01: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
Emile Rolley
73576548c6 docs: update authors fields 2022-02-25 16:49:22 +01:00
Emile Rolley
3a6450b42f Merge branch 'master' into refactor-clerk-w-ninja 2022-02-25 12:31:16 +01:00
Emile Rolley
79c39889bd fix(opam): try to add ninja_utils as a standalone package 2022-02-24 14:05:37 +01:00
Alain
73fe2f876c Revert "Merge pull request #196 from CatalaLang/fixup-cmdliner"
fix cmdliner to 1.0.4

This reverts commit 8e1a1ccb63, reversing
changes made to 4812830a25.
2022-02-21 14:53:48 +01:00
Denis Merigoux
b6d9d7cf5f
Update Cmdliner with breaking changes 2022-02-10 22:57:07 +01:00
Louis Gesbert
75bcbca706 Add z3 dependency
Just to check how well the caching works
2022-01-13 12:38:16 +01:00
Denis Merigoux
e2981c4ffc
Pin ocamlformat version 2022-01-13 12:20:53 +01:00
Louis Gesbert
0e1500f8f0 An attempt to simplify deps install and CI
from the docs, the setup-ocaml@v2 github action should already handle caching...
2022-01-13 12:15:39 +01:00
Denis Merigoux
22cd03c466
Bumping version numbers and fixing 0.5.0 build 2021-11-07 11:00:46 +01:00
Denis Merigoux
485d093b7e
Bump Catala version number 2021-11-07 01:38:17 +01:00
Denis Merigoux
cf31da7ca1
Remove limitation on Zarith since https://github.com/janestreet/zarith_stubs_js/pull/8 is closed 2021-10-18 09:58:47 +02:00
Denis Merigoux
577bfe67a5
Added dependencies at other places 2021-08-23 14:24:39 +02:00
Denis Merigoux
7446b1fe57
Reorganized public libraries 2021-04-22 17:57:27 +02:00
Denis Merigoux
7d05ee5d2a Cleaned dune project and opam files 2021-04-06 21:43:10 +02:00
Denis Merigoux
6e122da489
Cheap hack to get logged values
Will not be sufficient, we need a deep embedding
2021-04-04 00:12:05 +02:00
Denis Merigoux
c2eaf08daa Fixed missing stub in JS output 2021-04-02 17:57:44 +02:00
Denis Merigoux
3772a4cb83
Added badges and updated description 2021-03-19 18:34:38 +01:00
Denis Merigoux
4cb6eb23cb Updated project description 2021-03-19 16:34:19 +01:00
Denis Merigoux
869cbb6173 Added missing OPAM dependencies 2021-03-18 16:52:46 +01:00
Denis Merigoux
64661f06c6 Fixed Js and bumped version number 2021-03-18 16:41:55 +01:00
Denis Merigoux
9c98afed6e Allow approximate merlin 2021-02-01 20:20:33 +01:00
Denis Merigoux
313ca065f4 Benchmarked the result on allocations familiales, it is fast enough 2021-01-28 23:46:39 +01:00
Denis Merigoux
a9d415b7b9 Added map visitors to surface AST 2021-01-20 16:27:39 +01:00
Denis Merigoux
852a6412eb Changed odate to calendarLib 2021-01-14 13:04:15 +01:00
Denis Merigoux
06803e4170 Fixed makefile and dune_porject 2021-01-05 14:35:04 +01:00
Denis Merigoux
f966fc87d0 Added web-compatible version of the Catala interpreter 2020-12-26 17:37:45 +01:00
Denis Merigoux
b2f34c33c6 Fixed dependencies 2020-12-22 18:53:44 +01:00
Denis Merigoux
293438ea38 Missing JS stubs 2020-12-21 18:15:53 +01:00
Denis Merigoux
03f34c7d93 Fixed dependency 2020-12-21 16:52:17 +01:00
Denis Merigoux
81c464ea7e Added labels and exceptions to surface syntax 2020-12-18 13:13:51 +01:00
Denis Merigoux
f282d9586b Improved readmes 2020-12-14 10:59:15 +01:00
Denis Merigoux
0888422ead Big code reorg with better dune config 2020-11-23 09:22:47 +01:00
Denis Merigoux
cdfa9038cf Literate programming AST now tree-shaped 2020-10-04 01:25:37 +02:00
Nicolas Chataing
84835b0a79 Add non verbose lexing 2020-08-03 18:07:09 +02:00
Denis Merigoux
cd9957b8c4 Add interface and doc to api.ml 2020-05-22 23:02:48 +02:00
Denis Merigoux
974797ac97 Fixed new project homepage 2020-04-28 15:08:12 +02:00