Commit Graph

62 Commits

Author SHA1 Message Date
Louis Gesbert
538e97dfd3 Install Python and R runtimes
Runtimes for the various backends are expected to be made available from their
own ecosystem. However, for convenience and to help with development
settings (where the runtime might change), as part of installing catala they are
put, in source form, into `<prefix>/lib/catala/runtime_LANG`.

When using a dev version of Catala, and using Python, one would then just have
to do `pip install <prefix>/lib/catala/runtime_python` within their venv to be
able to run their python programs.
2024-01-16 11:54:28 +01:00
Louis Gesbert
ce812a6685 ninja_utils has been moved away 2024-01-16 11:54:28 +01:00
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
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