Copyright | (c) 2016, Peter Trško |
---|---|
License | BSD3 |
Maintainer | peter.trsko@gmail.com |
Stability | experimental |
Portability | NoImplicitPrelude |
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
.