| 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 |
GHC.OverloadedLabels
Description
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.