4 <:PolyHash:> is an optimization pass for the <:SSA:>
5 <:IntermediateLanguage:>, invoked from <:SSASimplify:>.
9 This pass implements polymorphic, structural hashing.
13 * <!ViewGitFile(mlton,master,mlton/ssa/poly-hash.fun)>
15 == Details and Notes ==
17 For each datatype, tycon, and vector type, it builds and equality
18 function and translates calls to `MLton_hash` into calls to that
21 For tuples, it does the equality test inline; i.e., it does not create
22 a separate equality function for each tuple type.
24 All equality functions are created only if necessary, i.e., if
25 equality is actually used at a type.