Ppxx: a small extension library for writing PPX preprocessors

Iteration on core_type, like Btype.iter_type_expr

Referred constrs and classes

val constrs_in_type_declaration : Migrate_parsetree.Ast_405.Parsetree.type_declaration -> Longident.t list

Referred constrs and classes

Return true if it defines a GADT

val sccs : ('v * 'v list) list -> 'v list list

Group the type declarations defined by one type without nonrec. The result consists of the two components. The first is the truly mutual type declaration groups. The type declarations of each group are defined truly mutual recursively. The second is the the type declarations not really recursively defined.

For example, type t = Foo of u and u = label : t; label2 : v; and v = Zee of v and w = Boo the function returns the following: ( [t; u]; [v] , w)