Add OverloadedLists, allowing list syntax to be overloaded
This work was all done by Achim Krause <firstname.lastname@example.org> George Giorgidze <email@example.com> Weijers Jeroen <firstname.lastname@example.org> It allows list syntax, such as [a,b], [a..b] and so on, to be overloaded so that it works for a variety of types. The design is described here: http://hackage.haskell.org/trac/ghc/wiki/OverloadedLists Eg. you can use it for maps, so that [(1,"foo"), (4,"bar")] :: Map Int String The main changes * The ExplicitList constructor of HsExpr gets witness field * Ditto ArithSeq constructor * Ditto the ListPat constructor of HsPat Everything else flows from this.
Showing with 476 additions and 146 deletions