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 | Safe-Inferred |
Language | Haskell2010 |
This module defines the IsLabel
class 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.