catala.utils
Utils.Marked
AST node annotations (used for position, type, etc.)
catala.dcalc
catala.desugared
catala.driver
catala.lcalc
catala.literate
catala.runtime_jsoo
catala.runtime_ocaml
catala.scalc
catala.scopelang
catala.surface
catala.verification
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_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