Commit Graph

3911 Commits

Author SHA1 Message Date
Louis Gesbert
1a17098297 Move file functions that were in Cli to File
it's now possible because Globals where moved away
2024-03-19 15:26:32 +01:00
Louis Gesbert
0908ed85c3 Clerk: generate all .mli files as well 2024-03-19 15:26:32 +01:00
Louis Gesbert
36c8a7effc Sort strings in natural order when they contain numbers
Seeing results sorted as 1 10 11 2 doesn't look nice.
2024-03-19 15:26:32 +01:00
Louis Gesbert
4cec981f62 Move global options of Cli to their own module
This resolves a dependency cycle that would forbid `Cli` from using the modue
`File`, which was annoying.
2024-03-19 15:18:35 +01:00
Louis Gesbert
77ba1b8b38 Clerk: split OCaml compiler & link rules
and fix call to `catala depends` for OCaml linking
2024-03-14 14:04:52 +01:00
Louis Gesbert
3c03da4a50 file.ml: add a function to cleanup relative paths 2024-03-14 14:04:52 +01:00
Louis Gesbert
99004ab1d9 catala depends fixes
- automatically include the directories of listed files
- work for files that don't define modules
2024-03-13 18:15:50 +01:00
Louis Gesbert
21a429bfcf Jsoo runtime: fix over-wrapping of event manager callbacks 2024-03-12 16:05:38 +01:00
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