summaryrefslogtreecommitdiff
path: root/src/interactive.ml
diff options
context:
space:
mode:
authorAlasdair Armstrong2018-12-21 15:15:03 +0000
committerAlasdair Armstrong2018-12-21 15:15:03 +0000
commitc745a9a8d8d7d2b04e72bbb8bda9d9f0a7aabbfb (patch)
treee9479593f9ef59422b291ecda368863114499f97 /src/interactive.ml
parent06a6c63388bfdb0b31363a5fc09b7ead5d32d1cf (diff)
Simplify boolean existentials
Remove redundant variables in boolean existentials. A situation can occur during re-writing when patterns are re-written into simpler guarded patterns, with the guard containing a large conjunction. Often those individual conjuncts have no meaning for flow typing, but we'll still generate a large conjunct bool('p & 'q & 'r & 's ...) for the guard. Now we can simplify that return type by combining all the type variables that don't give us any information into a single one, which improves performance as we can avoid passing all those variables to the constraint solver.
Diffstat (limited to 'src/interactive.ml')
0 files changed, 0 insertions, 0 deletions