Module Smyth.Exp
val syntactically_equal : Lang.exp -> Lang.exp -> bool
syntactically_equal e1 e2
determines ife1
ande2
have the same abstract syntax tree.
val largest_hole : Lang.exp -> Lang.hole_name
largest_hole e
returns the greatest-numbered hole ine
val has_special_recursion : Lang.exp -> bool
has_special_recursion e
determines ife
or one of its subexpressions has an application marked as "special". SeeLang.exp
for details about "special" applications.
val fill_hole : (Lang.hole_name * Lang.exp) -> Lang.exp -> Lang.exp
fill_hole (h, e) root
replaces a hole ??h with the expressione
in the expressionroot
.