Commit Graph

2795 Commits

Author SHA1 Message Date
Louis Gesbert
6b44d19919 Tests: add function parameter inconsistency checks 2023-02-28 15:53:50 +01:00
Denis Merigoux
d9088d2b66
Fix flake update mechanism (#408) 2023-02-27 09:17:02 +01:00
Denis Merigoux
82141335c7
Tutorial: add top-level value definitions as an annex (#406) 2023-02-27 09:13:27 +01:00
Denis Merigoux
7801b57019
Update Makefile.common.mk (#407) 2023-02-27 09:10:45 +01:00
adelaett
7d50d89f7a nix build now uses cache 2023-02-24 19:38:50 +01:00
armandsalek
ddb8361895
Merge branch 'CatalaLang:master' into master 2023-02-24 17:11:49 +01:00
adelaett
93aa6f0922 update CI to run catala's tests 2023-02-24 15:16:23 +01:00
adelaett
c729e6fbf7 update the update flake mecanism to check the tests 2023-02-24 15:09:43 +01:00
adelaett
be5de3f979 update clerk package description to do the checks (and test catala) 2023-02-24 15:06:50 +01:00
adelaett
c7c2343d8e Fix nix update
move cppo and menhir from build dependencies to native build dependences
cleanup code
2023-02-24 15:06:14 +01:00
Louis Gesbert
49b4f8a8d8 Tutorial: add top-level value definitions as an annex
The cheat-sheet still needs to be updated, I'll do that once we have a unified
syntax for function types and multiple arguments at the top-level and within
scopes.
2023-02-23 11:35:44 +01:00
Louis Gesbert
5bd140ae5f
Arrow List (#404) 2023-02-22 14:06:55 +01:00
adelaett
4f029db47b explicitly don't accept multiple arguments from surface to desugared 2023-02-22 12:21:55 +01:00
adelaett
9f31715a47 style 2023-02-22 12:11:42 +01:00
adelaett
8553b9dd7e Alternative printing of type TArrow
Changed the typing printing in the pretty printer to:
* () -> unit for empty lists
* a -> b for single elements lists
* (a, b, c, d) -> b for multiple elements lists
2023-02-22 11:52:22 +01:00
adelaett
bd0243359e changed the invariant documentation of scopelang -> dcalc
Since functions inside catala can now have multiple arguments (while
not yet being user-definable) the invariant is now about partial
evaluation not being possible.
2023-02-22 11:42:48 +01:00
adelaett
576f21f69c Added documentation for encoding constructors in the typing inference 2023-02-22 11:41:21 +01:00
adelaett
51b5ccb08e change operator definition style to something more readable 2023-02-22 11:40:22 +01:00
armandsalek
f841512619
Update Makefile.common.mk
Ajout de l’appel à la variable « CURR_DIR » dans la définition de la règle « %.run »
2023-02-21 22:48:18 +01:00
adelaett
a4466fecc7 fixed some mixup in Format.fprintf arguments 2023-02-21 16:19:17 +01:00
adelaett
9a3a318ee0 updated the output of functions, since we now generate functions with multiple parameters 2023-02-21 14:18:35 +01:00
adelaett
e9f8843e4f adding one simple test about toplevel definitions 2023-02-21 14:17:58 +01:00
adelaett
a59a2f77fc typos in readme 2023-02-21 14:17:30 +01:00
adelaett
99d82bc33e Fix toplevel type definition (if arg_types is [], then use a different way) 2023-02-21 14:17:24 +01:00
adelaett
b512dc6ec7 Fix List.combine internal error (create multiple TAny instead of only one) 2023-02-21 14:16:50 +01:00
adelaett
7036464df3 fix printing error (use utf8 insteed of ->) 2023-02-21 14:16:23 +01:00
Denis Merigoux
830ec0e60c
Python runtime: Fix source positions linked to run-time errors (#401) 2023-02-21 10:27:01 +01:00
Denis Merigoux
3c6b96970b
Python runtime: Money division should remain rational (#403) 2023-02-21 10:26:38 +01:00
Rohan Padhye
940485dca4
Python runtime: Money division can simply use Integer division to remain rational
This is cleaner than referencing `mpq` explicitly, as it still returns a `Decimal` with full rational (non-floating) precision.
2023-02-20 22:40:05 -05:00
Rohan Padhye
6c1963e7dd
Python runtime: Money division should remain rational
Fixes #402
2023-02-20 22:34:03 -05:00
Rohan Padhye
e7a331a2ae Python runtime: Fix source positions linked to run-time errors 2023-02-20 15:49:53 -05:00
adelaett
24b89bb1b5 nix refactoring 2023-02-20 18:01:44 +01:00
adelaett
839a7ffd83 finished refactoring 2023-02-20 17:58:29 +01:00
adelaett
e519b7f146 until desugared 2023-02-20 17:21:44 +01:00
Denis Merigoux
c3f4dbbb42
Fix python output of toplevel defs (#400) 2023-02-20 16:58:56 +01:00
adelaett
3a3b24f9f3 change in nix 2023-02-20 15:59:40 +01:00
adelaett
f885d16016 .gitignore envrc 2023-02-20 15:59:04 +01:00
adelaett
f2bebe613b - [x] shared_ast 2023-02-20 15:57:42 +01:00
adelaett
d79b8463a6 - [ ] shared_ast 2023-02-20 15:57:42 +01:00
adelaett
391bf2527d make the change in the datatype 2023-02-20 15:57:42 +01:00
Louis Gesbert
8c40b1ddd0 Fix python output of toplevel defs
there is room for name clashes there though, maybe we should find a more
consistent renaming mechanism
2023-02-17 19:59:22 +01:00
Louis Gesbert
03645e6404 Rename Scalc from_lambda to from_lcalc for consistency 2023-02-17 19:49:56 +01:00
Denis Merigoux
fced0fff54
Add top-level definitions (#391) 2023-02-15 16:27:04 +01:00
Louis Gesbert
e5da498d15
Python backend: Date difference should always return duration in days (#396) 2023-02-15 16:17:19 +01:00
Louis Gesbert
72cf477dd9 Toplevel definitions: fixes following review
Thanks @denismerigoux!
2023-02-15 12:40:15 +01:00
Rohan Padhye
4c9bff1b74 Python backend: Date difference should always return duration in days 2023-02-14 13:48:19 -05:00
Louis Gesbert
d92ae2ccfd
Python backend: Use true division (#395) 2023-02-14 11:00:10 +01:00
Rohan Padhye
014e11720e Python backend: Use true division
Fixes a regression after the change in #368, which converted all
integer division to return a decimal. The code generation backend
was still using the integer division operand `//`, which is not
overloaded by class `Integer` in the catala runtime.
2023-02-13 16:31:24 -05:00
Louis Gesbert
c3af0b4097 Toplevel definitions: branch cleanup
- fix remaining warnings (mostly unused arguments)
- renamings throughout for consistency and clarity
2023-02-13 18:02:09 +01:00
Louis Gesbert
912e1500c4 Handle toplevel defs down to scalc 2023-02-13 11:44:32 +01:00