catala/compiler
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
..
catala_utils Unify all CLI arguments to use - rather than _ 2023-12-19 15:25:37 +01:00
dcalc AST change: more specific application 2023-12-19 17:27:40 +01:00
desugared AST change: more specific application 2023-12-19 17:27:40 +01:00
lcalc AST change: more specific application 2023-12-19 17:27:40 +01:00
literate Fix #543 2023-12-06 16:58:38 +01:00
plugins AST change: more specific application 2023-12-19 17:27:40 +01:00
scalc AST change: more specific application 2023-12-19 17:27:40 +01:00
scopelang AST change: more specific application 2023-12-19 17:27:40 +01:00
shared_ast AST change: more specific application 2023-12-19 17:27:40 +01:00
surface Allow deconstruction of tuples using let in 2023-12-19 17:25:44 +01:00
verification AST change: more specific application 2023-12-19 17:27:40 +01:00
catala_web_interpreter.ml Rework resolution of module elements 2023-11-30 21:14:12 +01:00
catala.ml replace let _ by let () or add type annotation 2023-09-09 22:02:39 +02:00
driver.ml Unify all CLI arguments to use - rather than _ 2023-12-19 15:25:37 +01:00
driver.mli Reformat 2023-11-30 23:53:38 +01:00
dune Add an explain plugin 2023-07-11 17:33:56 +02:00
index.mld More doc 2023-06-18 16:08:16 +02:00
plugin.ml Reformat 2023-09-27 13:19:04 +02:00
plugin.mli Refacter the main Driver module 2023-07-03 16:42:54 +02:00
tests.ml replace let _ by let () or add type annotation 2023-09-09 22:02:39 +02:00