Scopelang.DependencySourceGraph representation of the dependencies between scopes in the Catala program. Vertices are functions, x -> y if x is used in the definition of y.
type vertex = | Scope of Shared_ast.ScopeName.t * Shared_ast.ModuleName.t option| Topdef of Shared_ast.TopdefName.tmodule SDependencies :
Graph.Sig.P with type V.t = vertex and type E.label = Catala_utils.Pos.tOn the edges, the label is the expression responsible for the use of the function
module TDependencies :
Graph.Sig.P
with type V.t = Shared_ast.TypeIdent.t
and type E.label = Catala_utils.Pos.tOn the edges, the label is the expression responsible for the use of the function
val check_type_cycles :
Shared_ast.struct_ctx ->
Shared_ast.enum_ctx ->
Shared_ast.TypeIdent.t list