adelaett
380a3a0c92
structural invariants
2023-03-31 16:03:51 +02:00
adelaett
e9ead93f3f
fix typing errors
2023-03-31 16:01:05 +02:00
adelaett
573df8416f
Merge branch 'master' into adelaett-withoutexceptionsfix
2023-03-31 15:52:06 +02:00
adelaett
272dc9e8b3
optimization reorg
2023-03-31 15:37:18 +02:00
adelaett
beeecce091
correcting filter definition
2023-03-31 15:31:43 +02:00
adelaett
69ac8ca929
implementation of fold, reduce, map & filter in without exceptions
...
Work in progress: not working for filter & map
2023-03-31 11:24:43 +02:00
Louis Gesbert
8c31e5ea60
Rework the AST Gadt to allow merging of different ASTs ( #433 )
2023-03-30 15:54:10 +02:00
Louis Gesbert
817dcb09fc
Simplify variable translation functions
2023-03-30 15:41:03 +02:00
Louis Gesbert
4973c74410
Remove date rounding mode from Operator.translate
2023-03-30 15:33:00 +02:00
Louis Gesbert
a415355a39
Rework the AST Gadt to allow merging of different ASTs
...
The phantom polymorphic variant qualifying AST nodes is reversed:
- previously, we were explicitely restricting each AST node to the passes where it belonged using a closed type (e.g. `[< dcalc | lcalc]`)
- now, each node instead declares the "feature" it provides using an open type (e.g. `[> 'Exceptions ]`)
- then the AST for a specific pass limits the features it allows with a closed type
The result is that you can mix and match all features if you wish,
even if the result is not a valid AST for any given pass. More
interestingly, it's now easier to write a function that works on
different ASTs at once (it's the inferred default if you don't write a
type restriction).
The opportunity was also taken to simplify the encoding of the
operators, which don't need a second type parameter anymore.
2023-03-30 15:30:08 +02:00
adelaett
61830bc348
fixing runtime merge errors
2023-03-30 11:02:35 +02:00
adelaett
6dee3874cc
Merge branch 'master' into adelaett-withoutexceptionsfix
2023-03-30 10:50:32 +02:00
adelaett
7174480153
start of the translation of fold
2023-03-30 10:39:23 +02:00
adelaett
3e8aae99fe
typo in the traslation of lets
2023-03-30 10:39:07 +02:00
adelaett
729d634744
fixing translation of arrays
2023-03-30 10:38:54 +02:00
Denis Merigoux
d3384d8ba9
Update INSTALL.md ( #436 )
2023-03-29 14:00:40 +02:00
Romain Primet
9be430f490
Update INSTALL.md
2023-03-29 09:40:57 +02:00
Aymeric Fromherz
b85a199daa
Add support for let .. in constructions in Z3 backend ( #434 )
2023-03-29 06:41:40 +09:00
Aymeric Fromherz
8780a48312
Correct test invocations
2023-03-28 22:51:03 +09:00
Romain Primet
03366d47c0
Update INSTALL.md
...
It seems that building with ocaml < 5.0.0 will not work due to `UChar.utf_decode_length` not being available in the stdlib prior to that version
2023-03-28 15:29:05 +02:00
adelaett
df740eed05
fixing with-exceptions
2023-03-28 10:07:01 +02:00
adelaett
37dcd96e41
correct scope debug formatting
2023-03-28 09:55:25 +02:00
adelaett
4fe23c894d
driver debugging code
2023-03-28 09:55:01 +02:00
adelaett
f3abc23c32
fixings tests (90% atm)
2023-03-28 09:54:44 +02:00
adelaett
c3d9ee299f
without exception: removing thunking
2023-03-28 09:54:04 +02:00
Denis Merigoux
44d8c32b9f
C backend for Catala : the closure conversion strikes back ( #364 )
2023-03-28 09:53:22 +02:00
adelaett
ba1c83f278
correct printing of option type
2023-03-28 09:52:40 +02:00
Denis Merigoux
e4c4339856
Small fixes
2023-03-28 09:38:47 +02:00
Aymeric Fromherz
5f04e0efaf
cleanup
2023-03-28 13:08:24 +09:00
Aymeric Fromherz
d0ef61219f
Add expected outputs for tests
2023-03-28 13:03:44 +09:00
Aymeric Fromherz
8fdd39d15a
Add negative test for let_in
2023-03-28 13:01:41 +09:00
Aymeric Fromherz
c711b0b1d7
cleanup
2023-03-28 13:00:07 +09:00
Aymeric Fromherz
71ebd3a2c7
Test for Z3 let_in
2023-03-28 12:49:14 +09:00
Aymeric Fromherz
082caae498
Add support for let_in in Z3 backend
2023-03-28 12:48:44 +09:00
adelaett
9806eb7e0f
format for program
2023-03-23 13:46:17 +01:00
adelaett
72ceafd67c
scopes does not return optional terms
2023-03-23 10:45:44 +01:00
Louis Gesbert
69be2f6ed8
Fix literate output of dates
2023-03-21 16:59:34 +01:00
adelaett
78c0842dc6
optimization tests
2023-03-21 14:31:45 +01:00
adelaett
256adcae4b
rename invariant
2023-03-21 14:31:21 +01:00
Denis Merigoux
48ef5b8f21
Fix warning and update assets
2023-03-21 14:00:49 +01:00
Denis Merigoux
578091f196
Restore check
2023-03-21 13:49:16 +01:00
Denis Merigoux
b801cccd15
Update tests
2023-03-21 13:32:38 +01:00
Denis Merigoux
aa8ab3be3d
Merge branch 'master' into c_backend
2023-03-21 12:14:10 +01:00
adelaett
d2da1c3e43
advancing
2023-03-17 17:24:51 +01:00
adelaett
7c39ad953b
fix iota optmi
2023-03-17 17:23:10 +01:00
adelaett
8c66fabe6a
fix mission operators in translate
2023-03-17 17:20:46 +01:00
adelaett
9a34ee95b1
equality program
2023-03-17 17:20:35 +01:00
adelaett
61ad00f277
unit test infrastructure for optimization
2023-03-17 17:19:50 +01:00
adelaett
850a1fdb56
more optimization on fold
2023-03-17 11:34:52 +01:00
Louis Gesbert
db09eb0c42
Add date rounding option in scope ( #397 )
2023-03-17 10:14:36 +01:00