package catala
sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>
On This Page
Compiler and library for the literate programming language for tax code specification
Install
dune-project
Dependency
Authors
Maintainers
Sources
0.5.0.tar.gz
md5=41b0317af37925b16ae7aedfddbcc8b4
sha512=f02c4e4c7d8ca92c4c2100d1dfc31c56218a8fae3760135335c9cdd10d9edbeb6eb5e407b430c095f579ce2226c3fe4c314788af5aa35c37d04e4dee5f459cb8
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 Utils.Pos.marked list * StructName.t option| TEnum of typ Utils.Pos.marked list * EnumName.t| TArrow of typ Utils.Pos.marked * typ Utils.Pos.marked| TArray of typ Utils.Pos.marked| TAny
Source
type lit = | LBool of bool| LEmptyError| LInt of Runtime.integer| LRat of Runtime.decimal| LMoney of Runtime.money| LUnit| LDate of date| LDuration of duration
Source
type unop = | Not| Minus of op_kind| Log of log_entry * Utils.Uid.MarkedString.info list| Length| IntToRat| GetDay| GetMonth| GetYear
Source
type expr = | EVar of expr Bindlib.var Utils.Pos.marked| ETuple of expr Utils.Pos.marked list * StructName.t option(*The
*)MarkedString.infois the former struct field name| ETupleAccess of expr Utils.Pos.marked * int * StructName.t option * typ Utils.Pos.marked list(*The
*)MarkedString.infois the former struct field name| EInj of expr Utils.Pos.marked * int * EnumName.t * typ Utils.Pos.marked list(*The
*)MarkedString.infois the former enum case name| EMatch of expr Utils.Pos.marked * expr Utils.Pos.marked list * EnumName.t(*The
*)MarkedString.infois the former enum case name| EArray of expr Utils.Pos.marked list| ELit of lit| EAbs of (expr, expr Utils.Pos.marked) Bindlib.mbinder Utils.Pos.marked * typ Utils.Pos.marked list| EApp of expr Utils.Pos.marked * expr Utils.Pos.marked list| EAssert of expr Utils.Pos.marked| EOp of operator| EDefault of expr Utils.Pos.marked list * expr Utils.Pos.marked * expr Utils.Pos.marked| EIfThenElse of expr Utils.Pos.marked * expr Utils.Pos.marked * expr Utils.Pos.marked| ErrorOnEmpty of expr Utils.Pos.marked
The expressions use the Bindlib library, based on higher-order abstract syntax
Variable helpers
Source
val make_abs :
vars ->
expr Utils.Pos.marked Bindlib.box ->
Utils.Pos.t ->
typ Utils.Pos.marked list ->
Utils.Pos.t ->
expr Utils.Pos.marked Bindlib.boxSource
val make_app :
expr Utils.Pos.marked Bindlib.box ->
expr Utils.Pos.marked Bindlib.box list ->
Utils.Pos.t ->
expr Utils.Pos.marked Bindlib.boxSource
val make_let_in :
Var.t ->
typ Utils.Pos.marked ->
expr Utils.Pos.marked Bindlib.box ->
expr Utils.Pos.marked Bindlib.box ->
Utils.Pos.t ->
expr Utils.Pos.marked Bindlib.boxSource
val make_multiple_let_in :
Var.t array ->
typ Utils.Pos.marked list ->
expr Utils.Pos.marked Bindlib.box list ->
expr Utils.Pos.marked Bindlib.box ->
Utils.Pos.t ->
expr Utils.Pos.marked Bindlib.boxSource
type program = {decl_ctx : decl_ctx;scopes : (ScopeName.t * Var.t * expr Utils.Pos.marked) list;
} sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>
On This Page