Copyright | (c) Adam Gundry 2015 |
---|---|
License | see libraries/base/LICENSE |
Maintainer | [email protected] |
Stability | internal |
Portability | non-portable (GHC extensions) |
Safe Haskell | None |
Language | Haskell2010 |
This module defines the IsLabel
class is used by the
OverloadedLabels extension. See the
wiki page
for more details.
The key idea is that when GHC sees an occurrence of the new
overloaded label syntax #foo
, it is replaced with
fromLabel (proxy# :: Proxy# "foo") :: alpha
plus a wanted constraint IsLabel "foo" alpha
.