Commit Graph

155 Commits

Author SHA1 Message Date
Aminata-Dev
f8755f0202 Update of autogenerated files 2023-07-12 11:55:11 +02:00
Louis Gesbert
594541b3f4 Skip rescript on 'make dependencies'
See #486: it's eating up all of the CI processing power
2023-07-10 16:31:34 +02:00
Louis Gesbert
71e3ca21c0 Remove generated files from git
and add proper pointers to the online artifacts
2023-07-10 15:48:11 +02:00
Denis Merigoux
5f48e5dac1
Merge branch 'master' into closure_conversion 2023-06-20 11:02:13 +02:00
Denis Merigoux
6b7e927294 Update assets 2023-06-03 18:09:32 +02:00
Denis Merigoux
5d765676b5 Format rather than print 2023-06-02 10:58:03 +02:00
Denis Merigoux
f7d8e924dd
Exclude rescript compiler from formatting 2023-06-01 17:45:33 +02:00
Denis Merigoux
27d2fd6bde
Update locks 2023-05-31 17:31:40 +02:00
Emile Rolley
2ded437e57 pkg(french-law/js): @catala-lang/french-lawv0.8.3-b.3 2023-05-29 13:03:50 +02:00
Emile Rolley
1ffc7a25df pkg(french_law/js): udpate package.json infos 2023-05-29 12:41:16 +02:00
Denis Merigoux
8987d358e7
Implement the rest 2023-05-26 16:54:52 +02:00
Denis Merigoux
6bc4cbd066
New SMIC value: Update assets 2023-05-25 18:48:23 +02:00
Emile Rolley
d1f15db070 publish(french_law/js): v0.8.1 2023-05-24 11:33:01 +02:00
Denis Merigoux
38081245b8
Really fix #466 2023-05-23 16:39:21 +02:00
Denis Merigoux
a00501fffa
Fix typo causing bad parsing 2023-05-23 15:39:41 +02:00
Denis Merigoux
e092679b75
Fixing #466 by reversing exception precedence 2023-05-23 14:12:26 +02:00
Emile Rolley
4637260b1e publish(french_law/js): @catala-lang/french-law 0.8.0 2023-05-07 15:13:22 +02:00
Emile Rolley
16eaf63004 publish(french_law/js): @catala-lang/french-law v0.5.2
+ generate src/french_law.js with `make all` instead of `make generate-website-assets`
2023-05-07 15:13:22 +02:00
Emile Rolley
64079f52e8 fix(french_law/js): move the dune file into src/ 2023-05-07 15:13:22 +02:00
Emile Rolley
6587f18331 publish(french_law/js): @catala-lang/french-law v0.5.1 2023-05-07 15:13:22 +02:00
Emile Rolley
1d9388a339 feat(french_law/js): add a ReScript wrapper for french_law.js 2023-05-07 15:13:22 +02:00
Denis Merigoux
5509239662
Update assets 2023-05-04 19:23:11 +02:00
Denis Merigoux
bcd91f5dea
Merge branch 'master' into aides_logement_outre_mer 2023-05-04 11:04:28 +02:00
Denis Merigoux
c6bafe8896
Update assets and tests 2023-05-02 10:58:45 +02:00
Denis Merigoux
3bc5b188ea
french_law.js on git compiled with dev profile 2023-04-28 14:49:45 +02:00
Emile Rolley
8128c47fa4 assets(french_law): udpate the french_law.js lib 2023-04-28 13:41:53 +02:00
Denis Merigoux
e6bccd716d
Fix a Catala program bug thanks to Proof mode! 2023-04-27 18:03:27 +02:00
Denis Merigoux
9b056f3ca1
Update assets and fix errors after rebase 2023-04-27 12:18:50 +02:00
Denis Merigoux
ada8e4941a
Delete variable EVERYWHERE 2023-04-27 12:13:50 +02:00
Denis Merigoux
eb7be3581a
Update assets 2023-04-21 14:59:02 +02:00
Denis Merigoux
4a1efcaa12
Restore tests and update assets 2023-04-18 14:46:25 +02:00
Denis Merigoux
1ee8d3923b
Restore Python API 2023-04-04 17:37:41 +02:00
Denis Merigoux
d63958d7da
Merge branch 'master' into aides_logement_outre_mer 2023-04-04 17:21:28 +02:00
Denis Merigoux
ba44949bea
Pin js_of_ocaml version : see https://github.com/CatalaLang/catala/issues/442 2023-04-04 17:13:00 +02:00
Denis Merigoux
a29339ed2f
Stringify JSON fields 2023-04-04 15:44:00 +02:00
Denis Merigoux
b3949ae15c
Update assets 2023-03-31 16:55:51 +02:00
Denis Merigoux
5673708f36
Update assets 2023-03-31 15:34:51 +02:00
Louis Gesbert
a415355a39 Rework the AST Gadt to allow merging of different ASTs
The phantom polymorphic variant qualifying AST nodes is reversed:
- previously, we were explicitely restricting each AST node to the passes where it belonged using a closed type (e.g. `[< dcalc | lcalc]`)
- now, each node instead declares the "feature" it provides using an open type (e.g. `[> 'Exceptions ]`)
- then the AST for a specific pass limits the features it allows with a closed type

The result is that you can mix and match all features if you wish,
even if the result is not a valid AST for any given pass. More
interestingly, it's now easier to write a function that works on
different ASTs at once (it's the inferred default if you don't write a
type restriction).

The opportunity was also taken to simplify the encoding of the
operators, which don't need a second type parameter anymore.
2023-03-30 15:30:08 +02:00
Denis Merigoux
f3e4127bcc
Update assets 2023-03-30 15:09:45 +02:00
Denis Merigoux
3417d07945
Fixed bug in L861-5-1 2023-03-28 12:09:52 +02:00
Denis Merigoux
3122dd7821
Update assets 2023-03-21 16:10:00 +01:00
Denis Merigoux
48ef5b8f21
Fix warning and update assets 2023-03-21 14:00:49 +01:00
Denis Merigoux
79d6c0e25d
Fix ML and JS french law 2023-03-17 18:59:41 +01:00
Raphaël Monat
64fa32392f Update generated files 2023-03-16 17:20:09 +01:00
Denis Merigoux
283d82bfce
French law JS must be created with a dune release profile 2023-03-14 11:53:27 +01:00
Louis Gesbert
508992de33 Embed the Pygments Catala lexer
This enables the HTML output to work without a custom Pygments installation (or
the proper venv activated)
2023-03-13 14:41:24 +01: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
Louis Gesbert
72cf477dd9 Toplevel definitions: fixes following review
Thanks @denismerigoux!
2023-02-15 12:40:15 +01:00
Louis Gesbert
c3af0b4097 Toplevel definitions: branch cleanup
- fix remaining warnings (mostly unused arguments)
- renamings throughout for consistency and clarity
2023-02-13 18:02:09 +01:00
Louis Gesbert
912e1500c4 Handle toplevel defs down to scalc 2023-02-13 11:44:32 +01:00