catala/compiler/shared_ast
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
..
definitions.ml AST change: more specific application 2023-12-19 17:27:40 +01:00
dune Fix most doc errors 2023-06-02 17:17:45 +02:00
expr.ml AST change: more specific application 2023-12-19 17:27:40 +01:00
expr.mli AST change: more specific application 2023-12-19 17:27:40 +01:00
interpreter.ml AST change: more specific application 2023-12-19 17:27:40 +01:00
interpreter.mli The interpreter might return custom terms 2023-10-13 16:16:45 +02:00
operator.ml Operator mismatch fix 2023-10-03 18:44:12 +02:00
operator.mli Fix most doc errors 2023-06-02 17:17:45 +02:00
optimizations.ml AST change: more specific application 2023-12-19 17:27:40 +01:00
optimizations.mli Improve integration of marks into the main AST 2023-05-17 17:37:00 +02:00
print.ml AST change: more specific application 2023-12-19 17:27:40 +01:00
print.mli AST change: more specific application 2023-12-19 17:27:40 +01:00
program.ml Rework resolution of module elements 2023-11-30 21:14:12 +01:00
program.mli Rework resolution of module elements 2023-11-30 21:14:12 +01:00
qident.ml Add some helper functions in a wrapper Map module 2023-07-12 11:51:15 +02:00
qident.mli Some commented code cleanup and clarifications 2023-06-19 16:36:09 +02:00
scope.ml Reformat 2023-11-27 11:09:08 +01:00
scope.mli Reformat 2023-11-27 11:09:08 +01:00
shared_ast.ml Wip support for modules 2023-06-15 17:56:57 +02:00
shared_ast.mld Fix most doc errors 2023-06-02 17:17:45 +02:00
type.ml Typer: add built-in "'a default" type 2023-11-27 11:06:01 +01:00
type.mli - [x] shared_ast 2023-02-20 15:57:42 +01:00
typing.ml AST change: more specific application 2023-12-19 17:27:40 +01:00
typing.mli AST change: more specific application 2023-12-19 17:27:40 +01:00
var.ml Fixes related to environments and lookups 2023-08-31 18:31:48 +02:00
var.mli Fixes related to environments and lookups 2023-08-31 18:31:48 +02:00