ucsd-progsys/liquidhaskell — pull request #192 by nikivazou (2014-04-09 06:30:42+00:00)
Title: add "no-expand-flag"

"no-expand-flag" is an option that disables expansion of the `DEFAULT` alternative to all possible data-constructors in case expressions.

See [tests/pos/NoCaseExpand.hs](https://github.com/ucsd-progsys/liquidhaskell/blob/no-expand-flag/tests/pos/NoCaseExpand.hs) why this is needed.
This test case-splits on 15 DataCons and using the above flag its verification time reduces from 8.5 to 3.6s.
The above test is just a function from [hscolour/Language/Haskell/HsColour/Anchors.hs](https://github.com/nikivazou/hscolour/blob/master/Language/Haskell/HsColour/Anchors.hs) which makes `fixpoint.native` run out of memory w/o the flag.

TODO?
* add documentation
* disable expansion only when the `DEFAULT` expands to (>=7) DataCons