Scopelang.Dependency
Graph representation of the dependencies between scopes in the Catala program. Vertices are functions, x -> y if x is used in the definition of y.
On the edges, the label is the expression responsible for the use of the function
val build_program_dep_graph : 'm Ast.program -> SDependencies.t
val get_defs_ordering : SDependencies.t -> vertex list
module TVertex : sig ... end
On the edges, the label is the expression responsible for the use of the function
val get_structs_or_enums_in_type : Shared_ast.typ -> TVertexSet.t
val build_type_graph :
Shared_ast.struct_ctx ->
Shared_ast.enum_ctx ->
TDependencies.t
val check_type_cycles :
Shared_ast.struct_ctx ->
Shared_ast.enum_ctx ->
TVertex.t list