Emile Rolley
ba620fca28
ocamlformat: new break-infix rule
2022-08-05 10:55:48 +02:00
Louis Gesbert
bc8eda581c
Add a script generating static builds
...
We have an obvious limitation: static builds won't support plugins. We
could resort to the classic method and do normal builds but on an old
distrib to dodge compatibility issues.
That would still be compatible with statically linking the more specific
libs, like e.g. z3.
2022-08-03 19:04:14 +02:00
Emile Rolley
d3d254033c
feat(runtimes/jsoo): add a new class type duration with conv functions
2022-07-22 16:52:56 +02:00
Emile Rolley
0c180e12f9
refactor(runtimes): add runtime_ocaml and runtime_jsoo in the catala package
2022-07-22 16:52:56 +02:00
Louis Gesbert
5b1a6a2217
Fix ninja arguments order
...
works better when replacing 'ninja' with the alternate implementation 'samurai'
2022-07-20 12:05:19 +02:00
Emile Rolley
1d05b57bdd
refactor(clerk): suffix the ninja build outputs with .PHONY instead of .out
2022-07-12 11:16:12 +02:00
Denis Merigoux
c5cb6f5c4d
Restore automatic rebuild of all tests by ninja
...
Also cleaned unused rule arg
2022-07-11 16:56:06 +02:00
Louis Gesbert
2e5050481d
Register all existing tests through the new engine
...
I removed the '.out' extension for now to preserve the test output file names and avoid a million file renames.
This makes the patch easier to read, and we can do the rename easily in another patch afterwards, without mixing with semantic changes.
(beautiful script àlarrache:
```bash
for f in */*/output/*; do
target_base=${f##*/}
target_base=${target_base%%.*}
echo $f | awk -F. '{
f=$1"."$2; if ($4 == "") { mode=$3; id=$3 } else { scope="-s "$3; mode=$4; id=$3"."$4}
printf "\n```catala-test {id=\"%s\"}\ncatala %s %s\n```\n",id,mode,scope;
}' >> $(dirname $f)/../${target_base}.*; done
```
2022-07-08 17:06:20 +02:00
Denis Merigoux
66a7d2f7a3
Fix test encoding
2022-07-08 15:37:01 +02:00
Denis Merigoux
a78f649377
Add negative test
2022-07-08 14:16:02 +02:00
Denis Merigoux
bdbf202a8d
Minimal implementation of https://github.com/CatalaLang/catala/issues/192#issuecomment-1178750411
2022-07-08 14:10:25 +02:00
Louis Gesbert
30297b27b8
Add dune rule to build tests
...
This allows a new magic command: `dune test -w`
2022-05-25 18:33:20 +02:00
Louis Gesbert
9a95a3554c
Add support for backend plugins using dynlink
2022-05-19 10:40:02 +02:00
Emile Rolley
144704f7fb
refactor(compiler): add the Utils.File module
...
+ Adds wrapper functions for formatter of file/out_channel
and uses it in both the compiler and the clerk drivers.
2022-05-19 10:04:34 +02:00
Louis Gesbert
faa5b32638
Merge remote-tracking branch 'origin/master' into allocations_logement
2022-05-12 15:22:17 +02:00
Louis Gesbert
f9fc1a8e8b
Formatting: sync with master
2022-05-12 15:10:55 +02:00
Louis Gesbert
f17875f90e
Formatting: some other personal preferences
2022-05-11 16:25:49 +02:00
Louis Gesbert
74c5629153
Formatting: reduce extra match-case indentation
...
2 is plenty enough, esp. for nested matches :)
2022-05-11 16:25:20 +02:00
Louis Gesbert
fa3693d813
Formatting: disable deprecated "smart" fun-decl option
2022-05-11 16:22:56 +02:00
Louis Gesbert
6cb0d581a6
Workaround some ocamlformat crashes
...
These files were not reformatted!
2022-05-11 16:21:07 +02:00
Louis Gesbert
6837af4e80
Upgrade Cmdliner dep
2022-05-09 11:39:18 +02:00
Denis Merigoux
a72944a3ec
Merge branch 'master' into allocations_logement
2022-05-05 14:27:48 +02:00
Denis Merigoux
78d5dfc194
Deprecated functions
2022-05-05 14:17:27 +02:00
Denis Merigoux
db35b09202
Use Re functions instead of Re.Pcre
...
Co-authored-by: Louis Gesbert <louis.gesbert@ocamlpro.com>
2022-05-05 14:14:44 +02:00
Denis Merigoux
f571ce9979
Rename tests correcly [skip ci]
2022-04-25 14:34:49 +02:00
Denis Merigoux
b3fae97f94
Correctly parse the -j option in Clerk
2022-04-14 16:56:10 +02:00
Denis Merigoux
171c3966f5
Pass some make flags to Clerk
2022-04-14 11:47:18 +02:00
Denis Merigoux
9d05dad3fb
Passing all tests!
2022-04-04 15:56:45 +02:00
Emile Rolley
7c1f4cc02d
refactor: group common functions related to backend_option in the Cli module
2022-03-08 15:52:26 +01:00
Denis Merigoux
5bd66142a6
Big reformatting
...
ocamlformat 0.19.0 -> 0.20.1
100 -> 80 columns per line
Reestablished @emilerolley's smart fun break
2022-03-08 15:03:14 +01:00
Louis Gesbert
12ec65601d
Use format strings directly in debug/error/log functions
...
This avoids many intermediate calls to e.g. `Format.asprintf`; should result in
some cases in "more correct" use of `Format`¹, avoid the computation of unused
debug strings, and make the code more readable.
¹ for `Format` to work as expected, all intermediate calls need to go through
it. Some cases of formatting to an intermediate string then printing through Format
again are still present, but this makes the situation better.
2022-03-08 13:04:27 +01:00
Denis Merigoux
c5d63148f8
Fix dune build -p catala @runtest
2022-03-08 11:28:42 +01:00
Emile Rolley
54e71bf3e3
fix(clerk): sort subdirectory names
2022-03-07 18:02:12 +01:00
Denis Merigoux
b9f46afcd7
Revert ocamlformat changes; creates too much conflict in other files
...
Changes in autoformatting should be made in a separate PR in a time where
there isn't too much pending PRs for the OCaml files
2022-03-07 11:09:47 +01:00
Emile Rolley
b0829148c7
format: add break-fun-decl in .ocamlformat
2022-02-26 19:53:56 +01:00
Emile Rolley
48118f46bb
test(clerk): add test cases
2022-02-26 19:49:13 +01:00
Emile Rolley
f277f272d1
test(clerk): setup alcotest + two first tests
2022-02-25 20:30:05 +01:00
Emile Rolley
15bb52e37a
fix(clerk): change the -o argument to a string instead of a flag
...
-> catch the Sys_error if the file can't be created.
2022-02-25 20:03:58 +01:00
Emile Rolley
f4ab6f5a96
build(clerk/opam): add a clerk opam package and a clerk.driver library to test
2022-02-25 18:14:07 +01:00
Emile Rolley
73576548c6
docs: update authors fields
2022-02-25 16:49:22 +01:00
Emile Rolley
bc7160d009
feat(clerk): add the output flag
2022-02-25 14:31:37 +01:00
Emile Rolley
ee6eb717c1
test(clerk): remove irelevant tests
2022-02-25 12:42:00 +01:00
Emile Rolley
3a6450b42f
Merge branch 'master' into refactor-clerk-w-ninja
2022-02-25 12:31:16 +01:00
Emile Rolley
4a83360220
refactor(clerk): change to_string to format functions
2022-02-25 12:30:29 +01:00
Emile Rolley
da6ed6b044
docs(clerk): add documentation about clerk and the Ninja_utils module
2022-02-24 14:05:05 +01:00
Emile Rolley
64820a0b20
docs(clerk): update the README file
2022-02-22 18:59:07 +01:00
Emile Rolley
abeea09d7f
feat(clerk): add support for multiple inputs
...
+ change the Makefile 'tests' rule to call only one time clerk
2022-02-22 18:06:12 +01:00
Alain
73fe2f876c
Revert "Merge pull request #196 from CatalaLang/fixup-cmdliner"
...
fix cmdliner to 1.0.4
This reverts commit 8e1a1ccb63
, reversing
changes made to 4812830a25
.
2022-02-21 14:53:48 +01:00
Emile Rolley
8214ad2ce6
fix(clerk): catch the exception and print a warning msg when a unexistant file is found (e.g. symbolic links)
2022-02-21 14:52:03 +01:00
Emile Rolley
351c7346d6
refactor(clerk): factorize functions for building ninja rules
...
+ add "test cases" for Lcalc and Scalc backends.
+ add support for Scalc and Lcalc and sort by alphabetical
order their type declarations.
2022-02-17 16:45:49 +01:00