Commit Graph

3728 Commits

Author SHA1 Message Date
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
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
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
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
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
Louis Gesbert
94ebc1b65e Allow deconstruction of tuples using let in 2023-12-19 17:25:44 +01:00
Louis Gesbert
df3ab64fe9 Add tuples to the surface language
No helpers to destruct them at the moment
2023-12-19 17:25:44 +01:00
Louis Gesbert
50730ab8ff
Small optimisations (#553) 2023-12-19 17:17:36 +01:00
Louis Gesbert
fb51f58261 Optimise away trivially-true errors-on-empty 2023-12-19 16:10:11 +01:00
Louis Gesbert
ea4e191f27 Add optimisation to skip variable aliasings
This particularly of effect to the code introduced by closure conversion.
2023-12-19 16:07:22 +01:00
Louis Gesbert
7233ec403a Printer: add parens after constructors 2023-12-19 16:07:22 +01:00
Louis Gesbert
ad0afa2f64 Small interpreter optimisation
This is unholy, but we're manually bringing a typing proof so it may be
acceptable...
2023-12-19 16:07:22 +01:00
Louis Gesbert
50cb0db890
[breaking changes] update syntax and CLI (#546) 2023-12-19 16:05:51 +01:00
Louis Gesbert
e123d7eb95 Change type syntax of collection into list of 2023-12-19 15:26:44 +01:00
Louis Gesbert
3779a249db Unify all CLI arguments to use - rather than _
it's more common on UNIXes and the mix was unpleasant.
2023-12-19 15:25:37 +01:00
Denis Merigoux
b50db59f50
Fixes decimal user-facing printer bug (#552) 2023-12-19 15:00:09 +01:00
Denis Merigoux
14589010a0
Restore tests 2023-12-19 14:13:42 +01:00
Denis Merigoux
e6a35f31b6
Fixes #551 2023-12-19 13:39:24 +01:00
Emile Rolley
a0ec4f8aff fix(french-law): move deps in dev 2023-12-13 13:58:26 +01:00
Emile Rolley
0e4b108882 pkg(french-law): published new patch for @catala-lang/french-law (v0.8.11) 2023-12-13 11:42:47 +01:00
Denis Merigoux
6f3679d8ca
Refactor AL example and improve the website-assets generation workflow (#550) 2023-12-11 11:31:07 +01:00
Denis Merigoux
e2aeb49a9b
Correct fix 2023-12-11 10:44:25 +01:00
Emile Rolley
a809410338 refactor(build): run example.js after compiling french_law.js 2023-12-08 16:10:18 +01:00
Louis Gesbert
11654d88b8
Small module-handling fixes (#545) 2023-12-08 15:35:41 +01:00
Louis Gesbert
5b1462d529 Clerk: allow to include non-yet-existing directories
Useful when you have wide `-I` options that not all targets may depend on.
2023-12-08 13:56:31 +01:00
Louis Gesbert
a988ad473b Fix handling of embedded context through modules
Exceptions raised by the interpreter from within the native modules were not
handled correctly.
2023-12-08 13:56:18 +01:00
Denis Merigoux
08661a50d3
More explanation-friendly code 2023-12-08 11:24:56 +01:00
Louis Gesbert
509ce9788a
Document and first test for externals (#538) 2023-12-07 16:06:25 +01:00
Louis Gesbert
10ba1d6e7b
Adelaett invariant typing default (#541) 2023-12-07 15:02:20 +01:00
adelaett
b5e7b297aa
typo fixing 2023-12-07 13:48:46 +01:00