diff options
| author | Alasdair Armstrong | 2018-12-21 15:15:03 +0000 |
|---|---|---|
| committer | Alasdair Armstrong | 2018-12-21 15:15:03 +0000 |
| commit | c745a9a8d8d7d2b04e72bbb8bda9d9f0a7aabbfb (patch) | |
| tree | e9479593f9ef59422b291ecda368863114499f97 /src/interactive.ml | |
| parent | 06a6c63388bfdb0b31363a5fc09b7ead5d32d1cf (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
