package catala

  1. Overview
  2. Docs
Legend:
Page
Library
Module
Module type
Parameter
Class
Class type
Source

Module Uid.MakeSource

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.

Parameters

module X : Info
module _ : Style

Signature

Sourcetype t
Sourcetype info = X.info
Sourceval fresh : ?from:t -> info -> t

if from is set, the new t will set its original info from it

Sourceval get_info : t -> info
Sourceval map_info : (info -> info) -> t -> t
Sourceval compare : t -> t -> int
Sourceval equal : t -> t -> bool
Sourceval format : Format.formatter -> t -> unit
Sourceval to_string : t -> string
Sourceval id : t -> int

Returns the unique ID of the identifier

Sourceval hash : t -> Hash.t

While id returns a unique ID valable for a given Uid instance within a given run of catala, this is a raw hash of the identifier string. Therefore, it may collide within a given program, but remains meaninful across separate compilations.

Sourceval original_info : t -> info

Retrieve the original id info, unaffected by renamings, etc.

Sourceval original_string : t -> string

Retrieve the original id string, unaffected by renamings, etc.

Sourceval format_original : Format.formatter -> t -> unit
Sourcemodule Set : Set.S with type elt = t
Sourcemodule Map : Map.S with type key = t