diff options
author | Vladislav Zavialov <vlad.z.4096@gmail.com> | 2022-05-15 14:27:36 +0300 |
---|---|---|
committer | Marge Bot <ben+marge-bot@smart-cactus.org> | 2022-06-20 17:34:44 -0400 |
commit | d24afd9d7139d7a62f3b465af1be50b25c15e5b5 (patch) | |
tree | 914187fdbd3161c1734765b7f81a0172faff3779 /compiler/Language/Haskell/Syntax/Extension.hs | |
parent | b5590fff75496356b1817adc9de1f2d361a70dc5 (diff) | |
download | haskell-d24afd9d7139d7a62f3b465af1be50b25c15e5b5.tar.gz |
HsToken for @-patterns and TypeApplications (#19623)
One more step towards the new design of EPA.
Diffstat (limited to 'compiler/Language/Haskell/Syntax/Extension.hs')
-rw-r--r-- | compiler/Language/Haskell/Syntax/Extension.hs | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/compiler/Language/Haskell/Syntax/Extension.hs b/compiler/Language/Haskell/Syntax/Extension.hs index 5cffd96690..47b693a9bd 100644 --- a/compiler/Language/Haskell/Syntax/Extension.hs +++ b/compiler/Language/Haskell/Syntax/Extension.hs @@ -23,7 +23,7 @@ module Language.Haskell.Syntax.Extension where import GHC.Prelude -import GHC.TypeLits (Symbol, KnownSymbol) +import GHC.TypeLits (Symbol, KnownSymbol, symbolVal) import Data.Data hiding ( Fixity ) import Data.Kind (Type) import GHC.Utils.Outputable @@ -730,3 +730,10 @@ type LHsUniToken tok utok p = XRec p (HsUniToken tok utok) data HsUniToken (tok :: Symbol) (utok :: Symbol) = HsNormalTok | HsUnicodeTok deriving instance (KnownSymbol tok, KnownSymbol utok) => Data (HsUniToken tok utok) + +instance KnownSymbol tok => Outputable (HsToken tok) where + ppr _ = text (symbolVal (Proxy :: Proxy tok)) + +instance (KnownSymbol tok, KnownSymbol utok) => Outputable (HsUniToken tok utok) where + ppr HsNormalTok = text (symbolVal (Proxy :: Proxy tok)) + ppr HsUnicodeTok = text (symbolVal (Proxy :: Proxy utok)) |