Commit Graph

4103 Commits

Author SHA1 Message Date
Louis Gesbert
959a49ee92 Jsoo runtime: expose the event manager to JS 2024-03-12 16:04:59 +01:00
Louis Gesbert
9bf441ae31 'catala depends': allow specifying multiple files
The return is a topological order over their joint dependencies.
NOTE: the specified files are now included in the returns
2024-03-12 16:04:59 +01:00
Louis Gesbert
dc6bfae75c Fixes for linking modules in the backends (in particular, Python) 2024-03-08 17:36:00 +01:00
Louis Gesbert
26c28bbd35 Fix line overflow message, and line offset errors 2024-03-08 17:36:00 +01:00
Louis Gesbert
95e3c4bedd Ensure we create the necessary target directories before opening output files 2024-03-08 17:36:00 +01:00
Louis Gesbert
e68e1244a5 Fix complexity of some string functions 2024-03-08 17:36:00 +01:00
Louis Gesbert
ff06ddf40c Fixing linking across modules for backends
- This adds a `catala depends` command that recursively tracks module dependency.
It can then be used by Clerk for linking.

- Generation of cmo object files are added for OCaml (we only built native
objects, but jsoo requires bytecode).

- Some fixes to the generation of value embed/deembed shims (related to types
coming from different modules ; add support for options ; etc.)
2024-03-08 17:36:00 +01:00
Louis Gesbert
70cbfdb9ac Add a CATALA_INCLUDE env variable
It'll help while we wait for the implementation of project-wide specifications.
2024-03-08 17:36:00 +01:00
Louis Gesbert
bc3add57ec Fix plugins lookup dir when Catala is installed to PATH 2024-03-08 17:36:00 +01:00
Louis Gesbert
346f401523 Disambiguate enum constructors from current module in priority 2024-03-08 17:36:00 +01:00
Louis Gesbert
c5b09d55b4 OCaml runtime: expose the dates_rounding type for direct access from the backend 2024-03-08 17:36:00 +01:00
Louis Gesbert
05625daf0e
Repair the 'explain' plugin (#588) 2024-03-05 11:14:03 +01:00
Louis Gesbert
8b3d7fb64b Repair the 'explain' plugin 2024-03-05 10:07:25 +01:00
Denis Merigoux
db508a006a
Fix R compilation (#587) 2024-03-04 14:01:02 +01:00
Denis Merigoux
c2c46c431e
Adress @altgr's suggestion 2024-03-04 13:30:25 +01:00
Denis Merigoux
ad5dd6f2f6 Fix R compilation 2024-03-03 18:36:50 +01:00
Louis Gesbert
eac5f1271c
Support externals in scalc, correctly output them in Python (#584) 2024-02-27 11:41:28 +01:00
Louis Gesbert
c1cd32a8f8 Clerk: skip unchanged tests when running with '--test-flags'
To avoid duplicating runs of identical tests: other tests are unaffected by the
flags.

Also tweak the Makefile to avoid multiple dune runs
2024-02-26 14:56:43 +01:00
Louis Gesbert
b43cc04e16 Clerk tests: use separate dirs for different flags, to preserve caching
The default output remains at the top of _build if no specific flags have been
given, the others are in `_build/test<flags>`
2024-02-26 14:56:43 +01:00
Louis Gesbert
1ea77201ff Lcalc interpreter: fix passing of context arguments 2024-02-26 14:56:43 +01:00
Louis Gesbert
07b71656e7 Native/interpreter interface: handle option types 2024-02-26 14:56:43 +01:00
Louis Gesbert
ba9fc85b84 Make exception output consistent across the interpreters 2024-02-26 14:56:43 +01:00
Louis Gesbert
20c1dee5cb Tests: add catala test-scope pseudo-command for inline tests 2024-02-26 14:56:43 +01:00
Louis Gesbert
4a049080a4 CLI: replace interpret_lcalc by interpret --lcalc
This will make it easier when running tests to just toggle the different flags
2024-02-26 14:56:43 +01:00
Louis Gesbert
97ae62384e Add externals to scalc, working test with Python backend 2024-02-26 14:56:43 +01:00
Louis Gesbert
589833bca7 Make plugin load failures less verbose
In general you don't care unless you may have attempted to use one.
2024-02-26 14:56:43 +01:00
Louis Gesbert
c78a6b62c9
Small ocaml/js output rehaul (#582) 2024-02-22 12:15:31 +01:00
Louis Gesbert
cafad727fe Update the generation process of the website assets
Now they're more simply bundled into a `tar` file generated from the `Makefile`.
2024-02-21 11:28:56 +01:00
Louis Gesbert
e0928677b1 Small ocaml/js output rehaul
Print to json directly rather than depend on yojson and a ppx.

Note: this should be tested with the website in order to validate that the Json
output is 1-to-1.
(a second step could be to simplify this output, now that it's manual)
2024-02-21 11:28:56 +01:00
Louis Gesbert
98ad084062 Clerk: add python targets 2024-02-19 10:44:20 +01:00
Louis Gesbert
4ee4992b54 Tweak multi-module LaTeX output 2024-02-16 16:36:15 +01:00
Louis Gesbert
f09edf443e Fix typo 2024-02-16 16:12:35 +01:00
Louis Gesbert
5f7fca0fe6
Allow generation of one latex file from multiple sources, and fixes (#583) 2024-02-16 14:14:38 +01:00
Louis Gesbert
60371189ab Allow generation of one latex file from multiple sources 2024-02-15 20:54:24 +01:00
Louis Gesbert
5128da2ebe Correctly fail if extra arguments are supplied 2024-02-15 20:54:14 +01:00
Louis Gesbert
18ec4b3dd3 LaTeX backend: fix module name escaping 2024-02-15 20:54:14 +01:00
Louis Gesbert
518bb64ecc
Fix LaTeX literate output with tests (#581) 2024-02-15 15:21:19 +01:00
Louis Gesbert
eb4ba114d2 Add test for literate LaTeX output 2024-02-15 14:53:26 +01:00
Louis Gesbert
a2d82d01f5 pandoc: disable highlight of custom fenced blocks for now 2024-02-15 13:54:44 +01:00
Louis Gesbert
23287ef817 Literate output: add info about modules 2024-02-15 13:54:44 +01:00
Louis Gesbert
fe289e5eec
Syntax: add keywords in front of list filtering / arg-extremum (#580) 2024-02-15 09:37:21 +01:00
Louis Gesbert
584ba7dfbc Some fixes to 'make alltest' 2024-02-14 14:57:40 +01:00
Louis Gesbert
2f2924944a Syntax: add keywords in front of list filtering / arg-extremum
Closes #574
2024-02-14 13:55:03 +01:00
Louis Gesbert
fa3be9bb79 Fix CI badge in Readme file 2024-02-13 17:22:57 +01:00
Louis Gesbert
1087604060
Allow access to intermediate variable states (#578) 2024-02-13 11:04:51 +01:00
Louis Gesbert
bf0ef0b1f5 Allow access to intermediate variable states
Through the syntax `var_name state state_name`.

Addresses #567, but
- requires documentation
- explicitely accessing states of the variable being defined is not allowed at
  the moment (warning proposed in #567 requires a whole-expression check, which
  is better done some place else entirely)
2024-02-12 18:15:48 +01:00
Louis Gesbert
36866a919b Tests: remove redundant part in filenames 2024-02-12 18:03:16 +01:00
Louis Gesbert
9c84457c36 Clerk: improve progress messages 2024-02-12 18:00:27 +01:00
Louis Gesbert
0d42ea0c29 Small CI fix 2024-02-12 17:25:20 +01:00
Louis Gesbert
afcc435593 CI: fix the check for bad promoted files 2024-02-12 16:44:14 +01:00