ghc-exactprint-1.9.0.0: tests/examples/pre-ghc910/overloadedlabelsrun03.hs
-- Using overloaded labels as strings, slightly pointlessly
{-# LANGUAGE OverloadedLabels
, DataKinds
, FlexibleContexts
, FlexibleInstances
, MultiParamTypeClasses
, ScopedTypeVariables
, TypeFamilies
, TypeSynonymInstances
#-}
import GHC.OverloadedLabels
import Data.Proxy ( Proxy(..) )
import GHC.TypeLits ( KnownSymbol, symbolVal )
instance (KnownSymbol x, c ~ Char) => IsLabel x [c] where
fromLabel _ = symbolVal (Proxy :: Proxy x)
main = do putStrLn #x
print $ #x ++ #y