summaryrefslogtreecommitdiff
path: root/compiler/utils
diff options
context:
space:
mode:
authorAdam Gundry <adam@well-typed.com>2017-02-14 09:53:28 -0500
committerBen Gamari <ben@smart-cactus.org>2017-02-14 10:53:01 -0500
commitda493897ac6ee2b17a0c58b51315f9d136de730d (patch)
tree08e13ee790290eada30f1ff1c7d1a2cae9f9d69b /compiler/utils
parentc3bbd1afc85cd634d8d26e27bafb92cc7481667b (diff)
downloadhaskell-da493897ac6ee2b17a0c58b51315f9d136de730d.tar.gz
Implement HasField constraint solving and modify OverloadedLabels
This implements automatic constraint solving for the new HasField class and modifies the existing OverloadedLabels extension, as described in the GHC proposal (https://github.com/ghc-proposals/ghc-proposals/pull/6). Per the current form of the proposal, it does *not* currently introduce a separate `OverloadedRecordFields` extension. 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: simonpj, goldfire, dfeuer, bgamari, austin, hvr Reviewed By: bgamari Subscribers: maninalift, dfeuer, ysangkok, thomie, mpickering Differential Revision: https://phabricator.haskell.org/D2708
Diffstat (limited to 'compiler/utils')
-rw-r--r--compiler/utils/FastStringEnv.hs5
1 files changed, 4 insertions, 1 deletions
diff --git a/compiler/utils/FastStringEnv.hs b/compiler/utils/FastStringEnv.hs
index a3336aeebf..14b0859211 100644
--- a/compiler/utils/FastStringEnv.hs
+++ b/compiler/utils/FastStringEnv.hs
@@ -24,7 +24,7 @@ module FastStringEnv (
DFastStringEnv,
-- ** Manipulating these environments
- mkDFsEnv, emptyDFsEnv, dFsEnvElts,
+ mkDFsEnv, emptyDFsEnv, dFsEnvElts, lookupDFsEnv
) where
import UniqFM
@@ -93,3 +93,6 @@ dFsEnvElts = eltsUDFM
mkDFsEnv :: [(FastString,a)] -> DFastStringEnv a
mkDFsEnv l = listToUDFM l
+
+lookupDFsEnv :: DFastStringEnv a -> FastString -> Maybe a
+lookupDFsEnv = lookupUDFM