Commit Graph

3700 Commits

Author SHA1 Message Date
Denis Merigoux
fc242a5d1f
Fix Python compilation and runtime 2023-11-22 18:08:44 +01:00
Denis Merigoux
67d1665afc
Progress 2023-11-22 15:02:40 +01:00
Denis Merigoux
cf70e6cbb1
Fix bug in taux_loyer_éligible!
The formulae in the law is complex and there was a transcription error
2023-11-22 14:52:25 +01:00
Denis Merigoux
b25944a148
Fix bug in taux_loyer_éligible!
The formulae in the law is complex and there was a transcription error
2023-11-22 14:51:02 +01:00
Denis Merigoux
b055558ebf
Merge branch 'master' into api_apl 2023-11-22 11:31:02 +01:00
Denis Merigoux
03173e50d0
Mise à jour arrêté du 22 septembre 2023 (#530) 2023-11-22 11:27:52 +01:00
Denis Merigoux
4cff84291a
Mise à jour arrêté du 22 septembre 2023 2023-11-22 11:11:43 +01:00
Denis Merigoux
15921b4fda
Improve simulation 2023-11-22 10:11:20 +01:00
Denis Merigoux
d2e4da144c
Directly call the API 2023-11-21 12:15:36 +01:00
Denis Merigoux
9b287cc0a5
Refresh the code 2023-11-21 10:49:32 +01:00
adelaett
363ece217e
fix nix environment 2023-11-16 16:52:23 +01:00
Denis Merigoux
c46f5d568d
Don't put a box in list printing but do indent (#524)
Don't put a box in list printing but do indent
2023-11-02 11:56:57 +01:00
Louis Gesbert
1d8e3748ea Improving the printer on arrays 2023-11-02 11:12:51 +01:00
Denis Merigoux
c4d1c9a1ad
fix(examples): remove empty lines at the beginning and the end of code blocks (#526) 2023-10-30 11:09:23 +01:00
Emile Rolley
6d66cfe10a fix(examples): remove empty lines at the beginning and the end of catala code blocks 2023-10-27 17:32:46 +02:00
Louis Gesbert
73df41eb6f
More complete tests on module calls and a bunch of fixes (#525) 2023-10-17 09:42:48 +02:00
Louis Gesbert
7141734d47
Improve trace printing (#523) 2023-10-17 09:39:53 +02:00
Louis Gesbert
bd90555e96 The interpreter might return custom terms
since scope outputs may contain functions this shouldn't be excluded; functions
from the interpreter now reflect this
2023-10-13 16:16:45 +02:00
Louis Gesbert
3b0e576a24 Fix module name propagation 2023-10-13 16:13:02 +02:00
Louis Gesbert
f25e38a6d7 Add complete scope call tests (across modules) 2023-10-13 16:12:19 +02:00
Louis Gesbert
2d062a4ad0 Fix bug in dependency analysis around scope call arguments 2023-10-13 16:12:15 +02:00
Louis Gesbert
d09113163d Fix bug in dependency analysis around scope call arguments 2023-10-13 15:09:36 +02:00
Louis Gesbert
61ec34e3d9 Fix handling of context vars with all call cases 2023-10-12 14:47:43 +02:00
Louis Gesbert
af8ff472a5 Fix handing of context variables in modules
The call convention imposes a translation of their types within the scope input
structs definitions in dcalc.
2023-10-12 14:42:57 +02:00
Louis Gesbert
f8b6e60e16 Fix handling of context variables in the interpreter 2023-10-12 14:42:57 +02:00
Louis Gesbert
dec0ca2041 Update reformatting patches list 2023-10-12 14:42:57 +02:00
Denis Merigoux
9024cf1222
Don't put a box in list printing but do indent 2023-10-12 12:01:28 +02:00
Louis Gesbert
4f22f412d2 Clerk: fix catala lookup function again 2023-10-11 13:47:37 +02:00
Louis Gesbert
186e2dfa64 Clerk: fix lookup of 'catala' command in PATH 2023-10-11 12:03:10 +02:00
Denis Merigoux
74684899c8
If you've in debug mode we can argue you want to see functions 2023-10-11 10:00:09 +02:00
Denis Merigoux
fce192be20
Improve trace printing 2023-10-11 09:37:36 +02:00
Denis Merigoux
24e43861f8
Fix wrongly located catala runtime library 2023-10-10 14:11:53 +02:00
Denis Merigoux
aa0ab95230
Clerk: ensure error messages are printed properly (#522) 2023-10-10 14:04:42 +02:00
Louis Gesbert
a9dc1f46b4 Clerk: ensure error messages are printed properly 2023-10-09 11:23:50 +02:00
Louis Gesbert
9d12e15f77
Rehaul the Clerk build system (#512) 2023-10-05 16:26:15 +02:00
Louis Gesbert
2708fa53b2 Reformat 2023-10-03 18:50:18 +02:00
Louis Gesbert
263cf3a9f7 Fix line-lexer on french syntax
"Usage de" being two words was tripping it
2023-10-03 18:49:16 +02:00
Louis Gesbert
2c6e6bf0b5 Disambiguate constructors and fields across modules 2023-10-03 18:49:00 +02:00
Louis Gesbert
8194abaf93 Operator mismatch fix
wow this remained unspotted for some time...
2023-10-03 18:44:12 +02:00
Louis Gesbert
22045a2f06 Tests and fixes on structures across modules 2023-10-03 18:43:14 +02:00
Louis Gesbert
e9a028c5f2 Clerk: use tag suffixes rather than prefixes
Clerk always generates parent dirs so using prefixes resulted in empty
`test@foo/bar` directories getting created
2023-10-02 18:24:24 +02:00
Louis Gesbert
cc7c3fc18c Clerk: add more tests, and small fixes 2023-10-02 17:51:16 +02:00
Louis Gesbert
a79acd1fa8 Reformat 2023-09-27 13:19:04 +02:00
Louis Gesbert
ce17d8e563 Fix plugins compilation 2023-09-27 13:18:28 +02:00
Louis Gesbert
a0405e31d5 Clerk: cleanup how test diffing/resetting is handled 2023-09-27 13:18:28 +02:00
Louis Gesbert
ade51234e8 Discard catala option --build-dir that is not useful in the end 2023-09-27 13:18:28 +02:00
Louis Gesbert
50fad76df3 Clerk: copy files to _build and run catala there
this is more consistent, avoids empty stamp files and should make things simpler
overall.

The slightly tricky `-C` option is added to Catala so that it can be run from
_build while paths to source and destination files are still specified relative
to CWD (Ninja doesn't provide string manipulation, so otherwise we would have to
explicit both the `_build/dir/` and `dir/` versions of each path).
2023-09-27 13:18:28 +02:00
Louis Gesbert
5efa61a0ce Clerk: rewrite 'clerk runtest' to use the new lightweight lexer
* Obsolete code for included tests has been removed

* The engine uses a proper lexer and is much simplified

* An inline test in the middle of the file now only "sees" the file up to that
  point. This fixes an issue where we had spurious errors when a type error was
  added at the end of a file, and it would pop up in tests before it. This makes
  files including many tests much more practical.

* diffing and resetting the tests has been reintroduced (done at the moment in
  Ninja, but for more control (count number of failed tests, etc.) we could put it
  back into Clerk at some point

* The Catala CLI can now take an input from stdin (with the possibility to link
  a (possibly fake) on-disk file for error reporting and file locations ; this
  is useful for running tests)
2023-09-27 13:18:18 +02:00
Louis Gesbert
cc7066e9a8 Clerk: better handling of transitive dependencies
We need a concrete intermediate target for e.g. transitive uses of `> Include`
for Ninja to correctly handle them.

Of course we could also unroll all transitive dependencies, but meh.

Note also that now tests now just generate the outputs but facilities for
diffing and resetting are temporarily absent.
2023-09-27 13:14:40 +02:00
Louis Gesbert
dbe0990163 Rework module includes CLI in Catala
Rather than require all files to be listed on the command-line (and having to
check consistency with `> Using` directives), the main catala CLI is now a bit
more clever.

⇒ There is a new assumption that a module name definition must match the file
name (up to case and extension) — with appropriate error handling to enforce it.

In exchange, `> Using` directives are now used to more transparently lookup the
appropriate `.catala_*` interfaces and the compiled artifacts for the used modules (handling transitive dependencies), with just standard `-I` flags for when they need to be looked up in different places.
2023-09-27 13:14:40 +02:00