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 which is used by the OverloadedLabels
language 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
.
On GHC >=8.0.1 we just reexport GHC.OverloadedLabels module.