repa-plugin-1.0.0.1: Data/Array/Repa/Plugin/FatName.hs
module Data.Array.Repa.Plugin.FatName
( GhcName (..)
, FatName (..))
where
import Data.Array.Repa.Plugin.GHC.Pretty ()
import DDC.Base.Pretty
import qualified DDC.Core.Flow.Prim as D
import qualified Var as G
import qualified Literal as G
import qualified TyCon as G
import qualified TypeRep as G
data GhcName
= GhcNameVar G.Var
| GhcNameTyCon G.TyCon
| GhcNameTyLit G.TyLit
| GhcNameLiteral G.Literal
| GhcNameIntU
deriving (Eq, Ord)
instance Pretty GhcName where
ppr nn
= case nn of
GhcNameVar v -> text "VAR " <> ppr v
GhcNameTyCon tc -> text "TYCON " <> ppr tc
GhcNameTyLit tylit -> text "TYLIT " <> ppr tylit
GhcNameLiteral lit -> text "LIT " <> ppr lit
GhcNameIntU -> text "Int#"
data FatName
= FatName
{ fatNameGHC :: GhcName
, fatNameDDC :: D.Name }
deriving (Eq, Ord)
instance Pretty FatName where
ppr (FatName _ name) = ppr name