Copyright | (c) Adam Gundry 2015-2016 |
---|---|
License | see libraries/base/LICENSE |
Maintainer | cvs-ghc@haskell.org |
Stability | internal |
Portability | non-portable (GHC extensions) |
Safe Haskell | None |
Language | Haskell2010 |
GHC.OverloadedLabels
Description
This module defines the IsLabel
class is used by the OverloadedLabels
extension. See the wiki page for more details.
When OverloadedLabels
is enabled, if GHC sees an occurrence of the overloaded label syntax #foo
, it is replaced with
fromLabel @"foo" :: alpha
plus a wanted constraint IsLabel "foo" alpha
.
Note that if RebindableSyntax
is enabled, the desugaring of overloaded label syntax will make use of whatever fromLabel
is in scope.