Commit Graph

2920 Commits

Author SHA1 Message Date
Denis Merigoux
3d86a12261
Update error messages 2023-03-31 14:01:04 +02:00
Denis Merigoux
a7ee7074f9
Improve linting 2023-03-31 13:50:02 +02:00
Denis Merigoux
565aa23b8f
Implemented some lints 2023-03-31 11:47:44 +02:00
Denis Merigoux
3c364aa1fa
Progress on linting, bugguy unused field detection 2023-03-30 18:52:29 +02:00
Denis Merigoux
9d64150a47
Add linting 2023-03-30 16:09:03 +02:00
Louis Gesbert
8c31e5ea60
Rework the AST Gadt to allow merging of different ASTs (#433) 2023-03-30 15:54:10 +02:00
Louis Gesbert
817dcb09fc Simplify variable translation functions 2023-03-30 15:41:03 +02:00
Louis Gesbert
4973c74410 Remove date rounding mode from Operator.translate 2023-03-30 15:33:00 +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
d3384d8ba9
Update INSTALL.md (#436) 2023-03-29 14:00:40 +02:00
Romain Primet
9be430f490
Update INSTALL.md 2023-03-29 09:40:57 +02:00
Aymeric Fromherz
b85a199daa
Add support for let .. in constructions in Z3 backend (#434) 2023-03-29 06:41:40 +09:00
Aymeric Fromherz
8780a48312 Correct test invocations 2023-03-28 22:51:03 +09:00
Romain Primet
03366d47c0
Update INSTALL.md
It seems that building with ocaml < 5.0.0 will not work due to  `UChar.utf_decode_length` not being available in the stdlib prior to that version
2023-03-28 15:29:05 +02:00
Denis Merigoux
44d8c32b9f
C backend for Catala : the closure conversion strikes back (#364) 2023-03-28 09:53:22 +02:00
Denis Merigoux
e4c4339856
Small fixes 2023-03-28 09:38:47 +02:00
Aymeric Fromherz
5f04e0efaf cleanup 2023-03-28 13:08:24 +09:00
Aymeric Fromherz
d0ef61219f Add expected outputs for tests 2023-03-28 13:03:44 +09:00
Aymeric Fromherz
8fdd39d15a Add negative test for let_in 2023-03-28 13:01:41 +09:00
Aymeric Fromherz
c711b0b1d7 cleanup 2023-03-28 13:00:07 +09:00
Aymeric Fromherz
71ebd3a2c7 Test for Z3 let_in 2023-03-28 12:49:14 +09:00
Aymeric Fromherz
082caae498 Add support for let_in in Z3 backend 2023-03-28 12:48:44 +09:00
Louis Gesbert
69be2f6ed8 Fix literate output of dates 2023-03-21 16:59:34 +01:00
Denis Merigoux
48ef5b8f21
Fix warning and update assets 2023-03-21 14:00:49 +01:00
Denis Merigoux
578091f196
Restore check 2023-03-21 13:49:16 +01:00
Denis Merigoux
b801cccd15
Update tests 2023-03-21 13:32:38 +01:00
Denis Merigoux
aa8ab3be3d
Merge branch 'master' into c_backend 2023-03-21 12:14:10 +01:00
Louis Gesbert
db09eb0c42
Add date rounding option in scope (#397) 2023-03-17 10:14:36 +01:00
Raphaël Monat
d5cd5b206a Show conflicting date rounding mode declarations when they happen 2023-03-16 18:51:01 +01:00
Raphaël Monat
8981b21edb Add test for date rounding option conflict 2023-03-16 17:20:14 +01:00
Raphaël Monat
51ea9d8cff Format code 2023-03-16 17:20:14 +01:00
Raphaël Monat
d3c27799de Raise exception when more than one rounding mode option has been specified 2023-03-16 17:20:13 +01:00
Raphaël Monat
1e1e3b538e Simplify format 2023-03-16 17:20:13 +01:00
Raphaël Monat
b013f4257d Update parser error message 2023-03-16 17:20:13 +01:00
Raphaël Monat
887ec00d0e Add explicit match 2023-03-16 17:20:13 +01:00
Raphaël Monat
8fe20e7fa2 Update syntax 2023-03-16 17:20:13 +01:00
Raphaël Monat
c4b0c6c107 Remove stale files 2023-03-16 17:20:13 +01:00
Raphaël Monat
1e0eddfa1f Update syntax 2023-03-16 17:20:13 +01:00
Raphaël Monat
ce858a74df Update syntax cheatsheet 2023-03-16 17:20:13 +01:00
Raphaël Monat
5cf6bdffb8 Add tests for date rounding option 2023-03-16 17:20:13 +01:00
Raphaël Monat
a09b4b82fd Updating french_law 2023-03-16 17:20:13 +01:00
Raphaël Monat
30c6f8e321 Change age check scope names 2023-03-16 17:20:13 +01:00
Raphaël Monat
64fa32392f Update generated files 2023-03-16 17:20:09 +01:00
Raphaël Monat
5fc1e8e5d5 Fix operator printing 2023-03-16 16:55:55 +01:00
Raphaël Monat
6dac7007f2 Tentative CI fix 2023-03-16 16:55:55 +01:00
Raphaël Monat
7021c41f93 Add date rounding option within scopes 2023-03-16 16:55:55 +01:00
Louis Gesbert
bdfb206650
Compile LaTeX code using minted without the Python venv (#430) 2023-03-16 15:18:06 +01:00
Louis Gesbert
ebf957008d Makefile: loading venv is no longer required for most rules 2023-03-14 17:35:22 +01:00
Louis Gesbert
abc5a00c2f Compile LaTeX code using minted without the Python venv
This is a hack, but not a dirty one: a new command `catala pygmentize` is added,
which is just a wrapper around `pygmentize` that calls it with the proper lexers
defined.

The point is that this needs no installation, just a stock `pygmentize`
installation and the `catala` binary.
2023-03-14 17:35:22 +01:00
Denis Merigoux
7f83a99daa
French law JS must be created with a dune release profile (#429) 2023-03-14 14:11:49 +01:00