Catala_utils.Uid
Global identifiers factories using a generative functor
module type Info = sig ... end
The information carried in global identifiers
module MarkedString : Info with type info = string Mark.pos
The only kind of information carried in Catala identifiers is the original string of the identifier annotated with the position where it is declared or used.
module type Id = sig ... end
Identifiers have abstract types, but are comparable so they can be used as keys in maps or sets. Their underlying information can be retrieved at any time.
module type Style = sig ... end
Used to define a consistent specific style when printing the different kinds of uids
This is the generative functor that ensures that two modules resulting from two different calls to Make
will be viewed as different types t
by the OCaml typechecker. Prevents mixing up different sorts of identifiers.
Shortcut for creating a kind of uids over marked strings
module Module : Id with type info = MarkedString.info
module Path : sig ... end
module type Qualified = sig ... end
module Gen_qualified (_ : Style) () : Qualified
Same as Gen
but also registers path information