package catala
Compiler and library for the literate programming language for tax code specification
Install
Dune Dependency
Authors
Maintainers
Sources
0.5.0.tar.gz
md5=41b0317af37925b16ae7aedfddbcc8b4
sha512=f02c4e4c7d8ca92c4c2100d1dfc31c56218a8fae3760135335c9cdd10d9edbeb6eb5e407b430c095f579ce2226c3fe4c314788af5aa35c37d04e4dee5f459cb8
doc/catala.lcalc/Lcalc/Ast/index.html
Module Lcalc.Ast
Source
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.info
is 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.info
is 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.info
is the former enum case name| EMatch of expr Utils.Pos.marked * expr Utils.Pos.marked list * Dcalc.Ast.EnumName.t
(*The
*)MarkedString.info
is 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.box
Source
val make_app :
expr Utils.Pos.marked Bindlib.box ->
expr Utils.Pos.marked Bindlib.box list ->
Utils.Pos.t ->
expr Utils.Pos.marked Bindlib.box
Source
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.box
sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>
On This Page