Implement OverloadedRecordFields and modify OverloadedLabels

Authored by adamgundry on Nov 14 2016, 3:11 PM.

Description

Implement OverloadedRecordFields and modify OverloadedLabels

Summary:
This implements a new OverloadedRecordFields extension and modifies
the existing OverloadedLabels extension, as described in the GHC proposal:
https://github.com/ghc-proposals/ghc-proposals/pull/6

This replaces D1687.

The users guide documentation still needs to be written, but I'll do that
after the implementation is merged, in case there are further design changes.

Test Plan: new and modified tests in overloadedrecflds

Reviewers: bgamari, simonpj, austin, hvr, goldfire

Subscribers: thomie, mpickering

Differential Revision: https://phabricator.haskell.org/D2708

Details