Module type Generic.LANGUAGE
The LANGUAGE module type represents the definition of an arbitrary language for use with an EGraph.
val pp_shape : (Stdlib.Format.formatter -> 'a -> unit) -> Stdlib.Format.formatter -> 'a shape -> unitpp_shape f fmt spretty prints expressions of the language.
val compare_shape : ('a -> 'a -> int) -> 'a shape -> 'a shape -> intcompare cmp a bcompares expressionsaandbusingcmpto compare subexpressions.
val op : 'a shape -> opop exprretrieves the tag that discriminates the shape of the expressionexpr.
val children : 'a shape -> 'a listchildren expreturns the subexpressions of expressionexp.