Safe Haskell | None |
---|---|
Language | Haskell2010 |
Synopsis
- removeConstraints :: Data a => DebugNames -> Set Name -> a -> a
- addConstraintToSig :: DebugNames -> Bool -> Sig GhcRn -> Writer (Map Name (Maybe FastString, Propagation)) (Sig GhcRn)
Documentation
removeConstraints :: Data a => DebugNames -> Set Name -> a -> a Source #
Removes debug predicates from the type signatures in an expression. This is necessary if there are type signatures for pattern bound names and the monomorphism restriction is on.
addConstraintToSig :: DebugNames -> Bool -> Sig GhcRn -> Writer (Map Name (Maybe FastString, Propagation)) (Sig GhcRn) Source #
Matches on type signatures in order to add the constraint to them.