package catala
sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>
On This Page
Low-level language for tax code specification
Install
dune-project
Dependency
Authors
Maintainers
Sources
0.2.0.tar.gz
md5=4c6f725ef4d21c5ff91f60d74b454ef7
sha512=98806e03daa6f33740b80a0f78a37320fb70ebea8cb927ea8fed022673459189c32e2389ccba0fa25d93f754b0fa0128a5ee28e1bb9abefa330deb4be8cc7d95
doc/catala.dcalc/Dcalc/Ast/index.html
Module Dcalc.AstSource
Abstract syntax tree for the default calculus
Abstract syntax tree
Source
type typ = | TLit of typ_lit| TTuple of typ Pos.marked list| TEnum of typ Pos.marked list| TArrow of typ Pos.marked * typ Pos.marked
Source
type unop = | Not| Minus of op_kind| ErrorOnEmpty| Log of log_entry * Utils.Uid.MarkedString.info list
Source
type expr = | EVar of expr Bindlib.var Pos.marked| ETuple of (expr Pos.marked * Uid.MarkedString.info option) list(*The
*)MarkedString.infois the former struct field name| ETupleAccess of expr Pos.marked * int * Uid.MarkedString.info option(*The
*)MarkedString.infois the former struct field name| EInj of expr Pos.marked * int * Uid.MarkedString.info * typ Pos.marked list(*The
*)MarkedString.infois the former enum case name| EMatch of expr Pos.marked * (expr Pos.marked * Uid.MarkedString.info) list(*The
*)MarkedString.infois the former enum case name| ELit of lit| EAbs of Pos.t * (expr, expr Pos.marked) Bindlib.mbinder * typ Pos.marked list| EApp of expr Pos.marked * expr Pos.marked list| EAssert of expr Pos.marked| EOp of operator| EDefault of expr Pos.marked list * expr Pos.marked * expr Pos.marked| EIfThenElse of expr Pos.marked * expr Pos.marked * expr Pos.marked
The expressions use the Bindlib library, based on higher-order abstract syntax
Variable helpers
Source
val make_abs :
vars ->
expr Pos.marked Bindlib.box ->
Pos.t ->
typ Pos.marked list ->
Pos.t ->
expr Pos.marked Bindlib.boxSource
val make_app :
expr Pos.marked Bindlib.box ->
expr Pos.marked Bindlib.box list ->
Pos.t ->
expr Pos.marked Bindlib.boxSource
val make_let_in :
Var.t ->
typ Pos.marked ->
expr Pos.marked Bindlib.box ->
expr Pos.marked Bindlib.box ->
expr Pos.marked Bindlib.box sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>
On This Page