catala.catala_utils
Catala_utils.Marked
AST node annotations (used for position, type, etc.)
api_web
catala.dcalc
catala.desugared
catala.driver
catala.lcalc
catala.literate
catala.plugins
catala.runtime_jsoo
catala.runtime_ocaml
catala.scalc
catala.scopelang
catala.shared_ast
catala.surface
catala.verification
json_schema
python
type ('a, 'm) t = 'a * 'm
Everything related to the source code should keep at least its position stored, to improve error messages
type 'a pos = ('a, Pos.t) t
The type of marks containing only position information
val mark : 'm -> 'a -> ('a, 'm) t
val unmark : ('a, 'm) t -> 'a
val get_mark : ('a, 'm) t -> 'm
val map_mark : ('m1 -> 'm2) -> ('a, 'm1) t -> ('a, 'm2) t
val map_under_mark : ('a -> 'b) -> ('a, 'm) t -> ('b, 'm) t
val same_mark_as : 'a -> ('b, 'm) t -> ('a, 'm) t
val unmark_option : ('a, 'm) t option -> 'a option
val compare : ('a -> 'a -> int) -> ('a, 'm) t -> ('a, 'm) t -> int
Compares two marked values ignoring positions
Visitors
class 'self marked_map : object ... end
class 'self marked_iter : object ... end
class 'self pos_map : object ... end
class 'self pos_iter : object ... end