Commit Graph

3985 Commits

Author SHA1 Message Date
Louis Gesbert
81eb7bf6d2 CI: Fix artifact source dir 2024-01-20 11:51:01 +01:00
Louis Gesbert
c336a7bb62
[WIP] Rehaul CI to run examples and generate artifacts again (#562) 2024-01-19 18:34:24 +01:00
Louis Gesbert
7a9ca6486c CI: fix gathering of artifacts 2024-01-19 17:49:39 +01:00
Denis Merigoux
1ccd115367
Allow literal scope output structures (#564) 2024-01-19 17:36:56 +01:00
Louis Gesbert
7f6f89c4c4 Build the html manpages as part of the doc target 2024-01-19 16:12:29 +01:00
Louis Gesbert
1c2c41b2ff Allow literal scope output structures 2024-01-19 15:43:35 +01:00
Louis Gesbert
db6c8c6c16 Add missing python package file 2024-01-19 13:39:22 +01:00
Louis Gesbert
e676d02055 Ensure dependencies for french_law are as tight as possible
See related patch in french_law: running `npm install` would bring in the whole
bs platform, including the recompilation of a full OCaml compiler which takes
>30min on our small runners. In fact for the purpose here, it's not needed so
restrict to just the smallest js requirements.
2024-01-19 12:12:28 +01:00
Louis Gesbert
c006c3343e Rehaul CI to run examples and generate artifacts again
this requires to fetch catala-examples and french-law from their own repos

Restrict static builds and publication to master
2024-01-18 16:14:27 +01:00
Louis Gesbert
853b841ce3 Remove LaTeX dependencies from opam file
to make the ci caches an order of magnitude smaller
2024-01-18 16:14:27 +01:00
Louis Gesbert
d9a17db4c0 Fix running inline tests
Warning: one of them is broken and was disabled
2024-01-18 16:14:27 +01:00
Denis Merigoux
50d3164f36
Restore C compilation 2024-01-17 17:26:41 +01:00
Denis Merigoux
5310e47e5b
Fix monomorphization problems with [TAny] left 2024-01-17 16:03:20 +01:00
Denis Merigoux
0a8fdde7de
Fix monomorphization 2024-01-17 14:02:32 +01:00
Denis Merigoux
ca8e4989ea
Type Scalc flow to avoid unresolved typing
With the new EAppOp node, the typing of operator application has changed and this causes some problems
with the example in test_scope/good/nothing.catala_en when retyping the LCalc to go to Scalc. This
commit changes the weird thing that for generating Scalc, the "typed" parameter was set to "untyped".
2024-01-17 13:08:20 +01:00
Denis Merigoux
a1ab58478c
Remove useless field 2024-01-17 11:29:39 +01:00
Louis Gesbert
8809e6efa2 Fix a few references to the removed examples/ dir 2024-01-16 18:07:31 +01:00
Louis Gesbert
fcb7ef61ff Clerk: fix @post file popping in src dirs 2024-01-16 18:07:31 +01:00
Denis Merigoux
349da741d4
Merge branch 'master' into c_backend 2024-01-16 16:23:35 +01:00
Louis Gesbert
6972de06ad
Move examples and french_law to their own repositories (#527) 2024-01-16 15:33:55 +01:00
Louis Gesbert
8ed45c2762
Fixes missing minus sign printing for small negative amounts of money (#560) 2024-01-16 12:21:29 +01:00
Louis Gesbert
ca22e86c26
Fixes wrong typing for date subtraction operator (#559) 2024-01-16 12:04:27 +01:00
Louis Gesbert
bb2ae885be Use published conf-ninja package
rather than hardcode the depexts
2024-01-16 11:54:28 +01:00
Louis Gesbert
55b69b1e55 promote install 2024-01-16 11:54:28 +01:00
Louis Gesbert
e0c2c58687 Makefile: remove references to the examples 2024-01-16 11:54:28 +01:00
Louis Gesbert
4ff65aa01a Makefile: make install now actually installs 2024-01-16 11:54:28 +01:00
Louis Gesbert
538e97dfd3 Install Python and R runtimes
Runtimes for the various backends are expected to be made available from their
own ecosystem. However, for convenience and to help with development
settings (where the runtime might change), as part of installing catala they are
put, in source form, into `<prefix>/lib/catala/runtime_LANG`.

When using a dev version of Catala, and using Python, one would then just have
to do `pip install <prefix>/lib/catala/runtime_python` within their venv to be
able to run their python programs.
2024-01-16 11:54:28 +01:00
Louis Gesbert
b82e4e05fe Bump version number in opam file 2024-01-16 11:54:28 +01:00
Louis Gesbert
ce812a6685 ninja_utils has been moved away 2024-01-16 11:54:28 +01:00
Louis Gesbert
acdaf7c57d Remove french_law, examples, merge clerk into catala package 2024-01-16 11:54:23 +01:00
Denis Merigoux
15c7691c09
Fixes #555 2024-01-16 11:40:10 +01:00
Denis Merigoux
b616e60c79
Fixes #558 2024-01-16 11:29:45 +01:00
Denis Merigoux
401fcd54be
Unify rounding operations in OCaml runtime (#557) 2024-01-15 18:27:26 +01:00
Denis Merigoux
9f03b6b931
Merge branch 'master' into c_backend
Some tests still failing...
2024-01-15 17:19:17 +01:00
Denis Merigoux
8449222936
Fixing off-by-one-cent results in housing benefits 2024-01-15 16:20:44 +01:00
Pierre Goutagny
6a39d066f2
Unify rounding operations in OCaml runtime 2024-01-10 13:43:19 +01:00
Louis Gesbert
6855870f02
Add tuples to the surface language, allow tuples for argument passing (#554) 2024-01-08 13:20:11 +01:00
Louis Gesbert
12f208b3fc Adding tuples: fixes following review 2024-01-08 12:16:07 +01:00
Denis Merigoux
919dd2b812 Monomorphization properly done 2023-12-20 17:45:39 +01:00
Denis Merigoux
dcd883e53c
Uppercase constructors 2023-12-19 17:40:38 +01:00
Denis Merigoux
a9764d607e
Merge branch 'master' into c_backend 2023-12-19 17:39:02 +01:00
Louis Gesbert
d3e7c565a9 Closure conversion: use multiple let-in 2023-12-19 17:30:32 +01:00
Louis Gesbert
5384394a72 Fix typing upon detuplification 2023-12-19 17:30:32 +01:00
Louis Gesbert
a2efc94fd2 Register the option type in ctx when used in lcalc 2023-12-19 17:30:28 +01:00
Denis Merigoux
6520d4863e
Restore tests 2023-12-19 17:29:37 +01:00
Louis Gesbert
a1c1a7756f Update invariant tests outputs 2023-12-19 17:27:44 +01:00
Louis Gesbert
2823795f9f AST change: more specific application
As part of making tuples first-class citizens, expliciting the arity upon
function application was needed (so that a function of two args can
transparently -- in the surface language -- be applied to either two arguments
or a pair).

It was decided to actually explicit the whole type of arguments because the cost
is the same, and this is consistent with lambda definitions.

A related change done here is the replacement of the `EOp` node for operators by
an "operator application" `EAppOp` node, enforcing a pervasive invariant that
operators are always directly applied. This makes matches terser, and highlights
the fact that the treatment of operator application is almost always different
from function application in practice.
2023-12-19 17:27:40 +01:00
Denis Merigoux
af16be501a
Remove useless optimizations caught just after 2023-12-19 17:26:36 +01:00
Denis Merigoux
9d9a2c4496
Start to implement proper monomorphization 2023-12-19 17:26:17 +01:00
Louis Gesbert
94ebc1b65e Allow deconstruction of tuples using let in 2023-12-19 17:25:44 +01:00