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.6.0.tar.gz
md5=b22e238d5d5c8452067109e9c7c0f427
sha512=ccc8c557c67c2f9d1bed4b957b2367f0f6afc0ef9b8b83237cf2a2912b3e8829b7e8af78ea7fe00b20ecf28b436ad04b591e5fff4f82fd08725d40a18c9924d0
doc/catala.lcalc/Lcalc/Ast/index.html
Module Lcalc.AstSource
Abstract syntax tree for the lambda calculus
Abstract syntax tree
The expressions use the Bindlib library, based on higher-order abstract syntax
Source
type lit = | LBool of bool| LInt of Runtime.integer| LRat of Runtime.decimal| LMoney of Runtime.money| LUnit| LDate of Runtime.date| LDuration of Runtime.duration
Source
type expr = | EVar of expr Bindlib.var Utils.Pos.marked| ETuple of expr Utils.Pos.marked list * Dcalc.Ast.StructName.t option(*The
*)MarkedString.infois the former struct field name| ETupleAccess of expr Utils.Pos.marked * int * Dcalc.Ast.StructName.t option * Dcalc.Ast.typ Utils.Pos.marked list(*The
*)MarkedString.infois the former struct field name| EInj of expr Utils.Pos.marked * int * Dcalc.Ast.EnumName.t * Dcalc.Ast.typ Utils.Pos.marked list(*The
*)MarkedString.infois the former enum case name| EMatch of expr Utils.Pos.marked * expr Utils.Pos.marked list * Dcalc.Ast.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 * Dcalc.Ast.typ Utils.Pos.marked list| EApp of expr Utils.Pos.marked * expr Utils.Pos.marked list| EAssert of expr Utils.Pos.marked| EOp of Dcalc.Ast.operator| EIfThenElse of expr Utils.Pos.marked * expr Utils.Pos.marked * expr Utils.Pos.marked| ERaise of except| ECatch of expr Utils.Pos.marked * except * expr Utils.Pos.marked
Variable helpers
Source
val make_abs :
vars ->
expr Utils.Pos.marked Bindlib.box ->
Utils.Pos.t ->
Dcalc.Ast.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 ->
Dcalc.Ast.typ Utils.Pos.marked ->
expr Utils.Pos.marked Bindlib.box ->
expr Utils.Pos.marked Bindlib.box ->
expr Utils.Pos.marked Bindlib.boxSource
val make_matchopt_with_abs_arms :
expr Utils.Pos.marked Bindlib.box ->
expr Utils.Pos.marked Bindlib.box ->
expr Utils.Pos.marked Bindlib.box ->
expr Utils.Pos.marked Bindlib.boxSource
val make_matchopt :
Utils.Pos.t ->
Var.t ->
Dcalc.Ast.typ Utils.Pos.marked ->
expr Utils.Pos.marked Bindlib.box ->
expr Utils.Pos.marked Bindlib.box ->
expr Utils.Pos.marked Bindlib.box ->
expr Utils.Pos.marked Bindlib.boxe' = make_matchopt'' pos v e e_none e_some Builds the term corresponding to match e with | None -> fun () -> e_none |Some -> fun v -> e_some.
Source
type scope_body = {scope_body_name : Dcalc.Ast.ScopeName.t;scope_body_var : Var.t;scope_body_expr : expr Utils.Pos.marked;
} sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>
On This Page