ucsd-progsys/liquidhaskell — pull request #11 by ranjitjhala (2012-11-03 22:20:20+00:00)
Title: Compact Constraints

This generates a compact version of the constraints where the environment for each constraint
are a list of integers, together with a "global" table of int -> Symbol, Reft binders.

Main changes are:

- New types of `IBindEnv` (for indexed binds) and `BindEnv` the global binding environment
- FixC and FixWf use the above environment
- The functions used to add bindings (`++=`, `+=`), and hence the `splitC` and `splitW` in Constraint.hs are now monadic (a unique integer count is used per binding).