Commit Graph

669 Commits

Author SHA1 Message Date
Denis Merigoux
b3e39d2d24
Removed unused code thanks to linting 2023-03-31 13:57:07 +02:00
Denis Merigoux
6d503e2646
Fix differences with Légifrance 2023-03-28 14:49:27 +02:00
Denis Merigoux
3417d07945
Fixed bug in L861-5-1 2023-03-28 12:09:52 +02:00
Denis Merigoux
96fb716f50
Fix test 2023-03-21 17:16:14 +01:00
JusBanuls
51e638ecbe Tests Accession à la propriété - Outre-Mers 2023-03-21 16:11:32 +01:00
Denis Merigoux
1a7982d225
Better printing 2023-03-21 11:24:19 +01:00
Denis Merigoux
dcf954f450
Finished implementing DOM-TOM 2023-03-20 22:01:30 +01:00
Denis Merigoux
0d20d650e5
Progress on archives of arrêté 2023-03-20 19:02:53 +01:00
Denis Merigoux
7e3597ac3d
Implemented Saint-Pierre-et-Miquelon trick 2023-03-20 12:20:46 +01:00
Denis Merigoux
d0cc7651cd
Done TODOs on arrêtés 2023-03-20 12:07:17 +01:00
Denis Merigoux
b2d02f4b0f
Fixed all tests 2023-03-17 18:44:19 +01:00
Denis Merigoux
f2ad796c94
Fixed bug (inspecting a test trace when found it) 2023-03-17 18:42:07 +01:00
Denis Merigoux
7f705beb07
Merge branch 'master' into aides_logement_outre_mer 2023-03-17 17:52:10 +01:00
Denis Merigoux
0be36b620d
Implement D863-7 2023-03-17 13:47:06 +01:00
Denis Merigoux
c4869ffd36
Fixing some TODOs 2023-03-17 09:26:11 +01:00
Raphaël Monat
30c6f8e321 Change age check scope names 2023-03-16 17:20:13 +01:00
Raphaël Monat
7021c41f93 Add date rounding option within scopes 2023-03-16 16:55:55 +01:00
JusBanuls
d8f0274bf7 Nouveau test 2023-03-14 15:34:01 +01:00
Denis Merigoux
d1169f28dd
Update doc 2023-03-09 16:18:36 +01:00
JusBanuls
efbacd8566 Ajout du décret relatif à la montée en charges des AL pour SPM 2023-03-09 12:42:31 +01:00
Denis Merigoux
6b9bc90b9a
End with @JusBanuls!
Now we have to finish the implem, clean, review and deploy :)
2023-03-06 15:02:19 +01:00
Denis Merigoux
bfc827296c
Merge branch 'master' into aides_logement_outre_mer 2023-03-06 14:09:51 +01:00
Denis Merigoux
263a8672e3
Progress with @JusBanuls 2023-03-03 12:17:15 +01:00
Louis Gesbert
57e29f60bd
Refactor Python dep handling + update cheat-sheet (#419) 2023-03-03 11:05:56 +01:00
Denis Merigoux
f8c2389f96
Progress but bug for @altgr 2023-03-03 11:03:54 +01:00
Denis Merigoux
e82325ebe1
Formatting 2023-03-03 10:29:03 +01:00
Louis Gesbert
5e063dac1b
Require argument name declarations, support multiple function arguments everywhere (#413) 2023-03-02 22:37:21 +01:00
Louis Gesbert
97e0cfca6f Improvements on function arguments refactoring
- simplify naming in the french law examples
- make messages yet more precise on function arguments mismatch
2023-03-02 19:11:21 +01:00
Louis Gesbert
84e6c70d66 Tutorial: fix overfull hbox 2023-03-02 14:32:07 +01:00
JusBanuls
85ed09c3ee Inclusion des chapitres III et IV du titre IV / partie réglementaire 2023-03-01 16:38:34 +01:00
armand
9c176256fe Remplace la double préposition « de de » par « de » 2023-02-28 21:01:35 +01:00
Denis Merigoux
3283c8a2f9
Progrès sur la partie règlementaire du CCH outre-mer avec @JusBanuls 2023-02-28 17:01:36 +01:00
Louis Gesbert
3766e9db2c Fix function argument naming consistency in the examples 2023-02-28 16:17:19 +01:00
Louis Gesbert
d3ccfe9b91 Adjust examples for the new function declaration syntax 2023-02-28 15:53:50 +01:00
Denis Merigoux
fdd9f510d9
Fin de la partie législative outre-mer du CCH avec @JusBanuls 2023-02-28 15:47:42 +01:00
Denis Merigoux
0667e3d40f
Merge branch 'master' into aides_logement_outre_mer 2023-02-28 15:01:31 +01:00
JusBanuls
5f486ce1d3 Nettoyage des archives 2023-02-27 15:06:48 +01:00
Denis Merigoux
82141335c7
Tutorial: add top-level value definitions as an annex (#406) 2023-02-27 09:13:27 +01:00
armandsalek
ddb8361895
Merge branch 'CatalaLang:master' into master 2023-02-24 17:11:49 +01:00
Denis Merigoux
feac2b328b
Progress with @JusBanuls 2023-02-24 12:10:00 +01:00
Denis Merigoux
dd2954838b
Formatting 2023-02-24 10:44:40 +01:00
Denis Merigoux
425a6e19f4
Finished L861-5 with @JusBanuls 2023-02-24 10:44:27 +01:00
Denis Merigoux
5c588cf996
Fixed exception structure for charges locatives with @JusBanuls 2023-02-24 10:12:15 +01:00
JusBanuls
ed998fd824 Articles législatifs et réglementaires des outre-mer 2023-02-23 17:53:28 +01:00
Louis Gesbert
49b4f8a8d8 Tutorial: add top-level value definitions as an annex
The cheat-sheet still needs to be updated, I'll do that once we have a unified
syntax for function types and multiple arguments at the top-level and within
scopes.
2023-02-23 11:35:44 +01:00
armandsalek
f841512619
Update Makefile.common.mk
Ajout de l’appel à la variable « CURR_DIR » dans la définition de la règle « %.run »
2023-02-21 22:48:18 +01:00
Denis Merigoux
366b293649
Progrès avec @JusBanuls 2023-02-21 18:13:27 +01:00
JusBanuls
9222cf1622 Avancement archives arrêté 2019 2023-02-21 15:18:20 +01:00
Denis Merigoux
82132bf145
Updated tests 2023-02-20 16:58:16 +01:00
Denis Merigoux
70db75b09f
Date entrée en vigueur article 31 2023-02-20 16:58:05 +01:00
Denis Merigoux
984b79d09a
Un peu de progrès sur L861-5 2023-02-14 17:30:28 +01:00
Denis Merigoux
6a2c644e9e
Fin de l'arrêté du 27 septembre 2019 pour les outre-mer 2023-02-14 15:58:20 +01:00
Denis Merigoux
1e79f7607a
Précision suite à recherches juridiques de @JusBanuls 2023-02-14 15:57:51 +01:00
Louis Gesbert
98ebc36343 Add all missing parser error messages
... that's one less thing to do

Two notes:

- Updated the syntax errors in
  examples/NSW_community_gaming/tests/test_nsw_social_housie.catala_en ; those
  probably aren't expected though, but fixing them is outside my purpose here

- There is consensus on keeping the error messages in English; however, here,
  the error messages include hints on the syntax to use, which are only valid
  for users of the English syntax.
  * A possible solution would be to apply cppo on parser.messages, using the
    macros already defined in lexer_LANG.cppo.ml. However, we would then need to
    tweak (or duplicate!) the parser to use the messages for the correct language.
    Furthermore, updating and merging the file on parser updates would need
    special care.
  * Another, maybe easier solution would be manual processing, using a custom
    escape in the parser messages and rewriting that at runtime when printing
    the message. We would need to extract a runtime version of the macro
    definitions though.
2023-02-13 10:51:42 +01:00
JusBanuls
d6e6d3de7d Correction de l'art. 52 après rectification sur Légifrance par la DILA 2023-02-10 12:03:05 +01:00
JusBanuls
6217630805 Sous-ensemble d'article pour le prototype du calcul des droits simpes de l'IR 2023-02-07 11:11:12 +01:00
JusBanuls
f1fed717e5 Remplacement du contenu de l'article 52 de l'arrêté de 2019 2023-01-30 11:57:28 +01:00
JusBanuls
ac2f02b7e9 Ajout des derniers articles de l'arrêté 2023-01-24 16:31:22 +01:00
JusBanuls
802818735e Allocations logement: fix typos 2023-01-23 11:56:21 +01:00
JusBanuls
a907eed46f Aides logement: simplify using cumulative exceptions 2023-01-23 11:54:08 +01:00
Denis Merigoux
df560ce366
Fixed another bug thanks to proof mode! 2023-01-20 16:14:30 -05:00
Denis Merigoux
639e2922ad
Remove implicit bound not yet met 2023-01-20 16:04:44 -05:00
Denis Merigoux
a13bbf03d3
Fix bug found by proof mode! 2023-01-20 16:04:33 -05:00
Denis Merigoux
1a97c21ca5
Add missing residence 2023-01-20 15:55:13 -05:00
Denis Merigoux
7054a8c6a7
Putting useful assertions restricting input parameters 2023-01-20 14:47:52 -05:00
Denis Merigoux
19e48f8781
Merge branch 'master' into aides_logement_outre_mer 2023-01-20 13:55:12 -05:00
Denis Merigoux
fcca9e4c47
Correction after confirmation from regulatory body 2023-01-20 10:10:31 -05:00
JusBanuls
52e1bf0cf6 Ajout de la variable résidence aux tests 2023-01-17 11:38:25 +01:00
Louis Gesbert
19033669f5 Add support for paths in the parser
Using them will lead to "not supported yet" errors soon after, but it's a start
to get to handling separate modules.

The idea is that `foo` can now also be `Bar.foo`, `Bar.Baz.foo`, `foo.Struc.fld`
can be `foo.Bar.Baz.Struc.fld`, etc.
The next steps are to enable the lookups to handle this paths, and to provide
ways to load the external modules to feed these lookups.
2023-01-16 12:09:23 +01:00
Denis Merigoux
2b6687fc44
FIx one of the tests 2023-01-13 16:15:11 +01:00
Denis Merigoux
9557e571d4
Todo list for Justine 2023-01-13 16:15:00 +01:00
Denis Merigoux
5d8c744e7f
Progress with Justine on overseas 2023-01-13 16:14:48 +01:00
Denis Merigoux
ab725ae6cb
Merge branch 'master' into aides_logement_outre_mer 2023-01-13 13:41:23 +01:00
Denis Merigoux
f4c92530c6
Update aides_logement and fix bugs to produce an updated working simulator (#377) 2023-01-13 12:05:32 +01:00
JusBanuls
6d05b2148e Retour à la ligne avec Alain 2023-01-12 17:14:35 +01:00
Denis Merigoux
defe6a82a3
Début implémentation outre-mer avec Justine 2023-01-10 16:13:05 +01:00
Denis Merigoux
c81c5c6708
Small bug spotted with the help of Justine 2023-01-10 11:55:23 +01:00
Denis Merigoux
d86eb8cb03
Ajout revalorisation plafond ASPA 2023 2023-01-10 11:47:14 +01:00
Denis Merigoux
bed7617581
Update smic 2023-01-07 20:53:05 +01:00
Denis Merigoux
fa84dd4330
Splitting long lines 2023-01-05 16:20:51 +01:00
Denis Merigoux
27cf705441
Update article 18 2023-01-04 16:30:14 +01:00
Denis Merigoux
b0e7e9faf8
Update art 15 2023-01-04 16:30:14 +01:00
Louis Gesbert
2003566867 Force parens in compound logic formulas
Closes #373

This forbids expressions such as `a and b or c`, avoiding the need to set an
implicit priority between `and`, `or` and `xor`, which I find error-prone.

Instead, when that appears, a message asking for explicit parentheses will be
shown to the user.

Implementation note: since that would be extremely tedious to do in the parser
directly, the parser is set to allow right-associativity without discrimination
for the logical operators, and the check is done during desugaring. This
required to explicit parentheses in the surface AST to discriminate the case
where the priority was explicit.
2023-01-04 10:46:14 +01:00
Louis Gesbert
92e925ace8
Syntax changes (#368) 2022-12-20 16:31:50 +01:00
Louis Gesbert
47502335aa Refactor the parser to use priorities
Define a single expression rule with disambiguation using token priorities
instead of the many layers of intermediate rules with explicit sub-terms.

Also replaces `in` for collection operations (`x+1 for foo in [1;2]`) with
`among` which helps a lot.
2022-12-19 15:12:53 +01:00
Matthew Gerrior
a58d98bce5
Fix typo in tutorial_en.catala_en
When working through the tutorial, I was thrown off a bit by this minor typo. The typo made it look like the tax calculation was subtracting the $10,000 exception from above, as opposed to the $100,000 from the bracket.
2022-12-18 15:38:19 -05:00
Louis Gesbert
f236e2cfb2 Replace the type conversion and rounding operators with overloads
Ref. #366

Also updates `CONTRIBUTING.md`.

This was pretty straight-forward :)
2022-12-13 15:32:49 +01:00
Louis Gesbert
c94509e0bb Remove integer division from the language
it's unlikely to be used in any law, and likely to be cause for confusion.

best of all, the new operator has a different return type, which
ensures no inconsistency with the change can get overlooked.
2022-12-13 12:35:02 +01:00
Louis Gesbert
dcb422302d Tests/examples update 2022-12-13 12:30:40 +01:00
Louis Gesbert
bb58d11ca8 Improve syntax for scope calls
implements #357
2022-12-13 12:30:38 +01:00
Louis Gesbert
09d49ab1cc French syntax: replace 'sortie' with 'résultat'
as per comment in #357
2022-12-13 12:27:33 +01:00
Louis Gesbert
4a66848eb3 Clarify some bits of the overload handling code
and address other remarks from the review of #365
2022-12-13 12:00:05 +01:00
Louis Gesbert
71bb67163c Remove explicitely typed operators in tests and examples
Command used: `sed -i 's/\([-+*/><=]=\?\)[.$@^€$]/\1/g' **/*/*.catala_*`

The overload test, of course, is kept unchanged and ensures that explicit
operators still work.
2022-12-13 12:00:04 +01:00
Louis Gesbert
b4adc33666 Update tutorial for overloads 2022-12-13 11:55:35 +01:00
Louis Gesbert
4ee4a96ac7 Remove *all* struct field access qualifiers in catala code
They are no longer needed \o/
2022-11-28 16:42:02 +01:00
Louis Gesbert
af2f5dbe19 Tweak error message location printing 2022-11-28 16:38:09 +01:00
Denis Merigoux
d7b9396e87
Correct lines 2022-11-24 15:17:00 +01:00
Denis Merigoux
b49e32cb59
Use scope calls in "Aides logement" (#352) 2022-11-07 16:18:03 +01:00
Louis Gesbert
a51d082033 Use scope calls in "Aides logement" 2022-11-07 14:23:10 +01:00
Louis Gesbert
4d4dac6727 Some fancy unicode for error outlines
Normally I would make sure this is not by default, or at leat disableable; but
here the code we print may contain utf8 anyway, so the terminal really needs to
support it. Anyway, it's just a little fancier, doesn't add much.
2022-11-07 14:13:01 +01:00