package catala
Compiler and library for the literate programming language for tax code specification
Install
dune-project
Dependency
Authors
Maintainers
Sources
1.0.0-alpha.tar.gz
md5=2615968670ac21b1d00386a9b04b3843
sha512=eff292fdd75012f26ce7b17020f5a8374eef37cd4dd6ba60338dfbe89fbcad3443d1b409e44c182b740da9f58dff7e76dcb8ddefe47f9b2b160666d1c6930143
doc/catala.shared_ast/Shared_ast/Program/index.html
Module Shared_ast.Program
Source
Program declaration context helpers
Transformations
Source
val map_decl_ctx :
f:
(Shared_ast__.Definitions.naked_typ Catala_utils.Mark.pos ->
Shared_ast__.Definitions.naked_typ Catala_utils.Mark.pos) ->
Shared_ast__.Definitions.decl_ctx ->
Shared_ast__.Definitions.decl_ctx
Source
val map_scopes :
f:
(Shared_ast__.Definitions.ScopeName.t ->
'e Shared_ast__.Definitions.scope_body ->
'e Shared_ast__.Definitions.scope_body Bindlib.box) ->
'e Shared_ast__.Definitions.program ->
'e Shared_ast__.Definitions.program
Source
val map_scopes_env :
f:
('acc ->
('e Shared_ast__.Definitions.boxed -> 'e Shared_ast__.Definitions.boxed) ->
Shared_ast__.Definitions.ScopeName.t ->
'e Shared_ast__.Definitions.scope_body ->
'acc * 'e Shared_ast__.Definitions.scope_body Bindlib.box) ->
?last:
('acc ->
('e Shared_ast__.Definitions.boxed -> 'e Shared_ast__.Definitions.boxed) ->
(Shared_ast__.Definitions.code_export_kind * 'e) list ->
(Shared_ast__.Definitions.code_export_kind * 'e) list Bindlib.box) ->
init:'acc ->
'e Shared_ast__.Definitions.program ->
'e Shared_ast__.Definitions.program
Maps on the scopes in the program, passing along an "environment" in the form of a function binding all toplevel and scope definitions to their variables in the argument expression
Source
val map_exprs :
?typ:
(Shared_ast__.Definitions.naked_typ Catala_utils.Mark.pos ->
Shared_ast__.Definitions.naked_typ Catala_utils.Mark.pos) ->
f:('expr1 -> 'expr2 Shared_ast__.Definitions.boxed) ->
varf:('expr1 Var.t -> 'expr2 Var.t) ->
'expr1 Shared_ast__.Definitions.program ->
'expr2 Shared_ast__.Definitions.program
If typ
is specified, definitions in decl_ctx
are also processed
Source
val fold_left :
f:('a -> 'expr Shared_ast__.Definitions.code_item -> 'a) ->
init:'a ->
'expr Shared_ast__.Definitions.program ->
'a
Source
val fold_exprs :
f:
('a ->
'expr ->
Shared_ast__.Definitions.naked_typ Catala_utils.Mark.pos ->
'a) ->
init:'a ->
'expr Shared_ast__.Definitions.program ->
'a
Source
val fold_right :
f:('expr Shared_ast__.Definitions.code_item -> 'a -> 'a) ->
init:'a ->
'expr Shared_ast__.Definitions.program ->
'a
Source
val get_scope_body :
(((_ Shared_ast__.Definitions.any, _ Shared_ast__.Definitions.any, 't)
Shared_ast__.Definitions.base_gexpr,
't Shared_ast__.Definitions.mark)
Catala_utils.Mark.ed as 'e)
Shared_ast__.Definitions.program ->
Shared_ast__.Definitions.ScopeName.t ->
'e Shared_ast__.Definitions.scope_body
Source
val get_mark_witness :
((_ Shared_ast__.Definitions.any, _ Shared_ast__.Definitions.any, 'm)
Shared_ast__.Definitions.base_gexpr,
'm Shared_ast__.Definitions.mark)
Catala_utils.Mark.ed
Shared_ast__.Definitions.program ->
'm Shared_ast__.Definitions.mark
Raises Not_found on an empty program
Source
val untype :
(('a Shared_ast__.Definitions.any, 'a Shared_ast__.Definitions.any, _)
Shared_ast__.Definitions.base_gexpr,
_ Shared_ast__.Definitions.mark)
Catala_utils.Mark.ed
Shared_ast__.Definitions.program ->
(('a, 'a, Shared_ast__.Definitions.untyped)
Shared_ast__.Definitions.base_gexpr,
Shared_ast__.Definitions.untyped Shared_ast__.Definitions.mark)
Catala_utils.Mark.ed
Shared_ast__.Definitions.program
Source
val to_expr :
(((_ Shared_ast__.Definitions.any, _ Shared_ast__.Definitions.any, _)
Shared_ast__.Definitions.base_gexpr,
_ Shared_ast__.Definitions.mark)
Catala_utils.Mark.ed as 'e)
Shared_ast__.Definitions.program ->
Shared_ast__.Definitions.ScopeName.t ->
'e Shared_ast__.Definitions.boxed
Usage: build_whole_program_expr program main_scope
builds an expression corresponding to the main program and returning the main scope as a function.
Source
val find_scope :
Shared_ast__.Definitions.ScopeName.t ->
('e,
'e Shared_ast__.Definitions.code_item,
(Shared_ast__.Definitions.code_export_kind * 'e) list)
Shared_ast__.Definitions.bound_list ->
'e Shared_ast__.Definitions.scope_body
Source
val modules_to_list :
Shared_ast__.Definitions.module_tree_node Catala_utils.Uid.Module.Map.t ->
(Catala_utils.Uid.Module.t * Shared_ast__.Definitions.module_intf_id) list
Returns a list of used modules, in topological order
sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>
On This Page