{-# LANGUAGE TemplateHaskell #-}

module Language.Haskell.TH.TypeInterpreter.Names
    ( arrowTypeName
    , equalityTypeName
    , listTypeName
    , starTypeName
    , constraintTypeName
    , nilName
    , consName )
where

import Data.Kind

import Language.Haskell.TH (Name)

arrowTypeName :: Name
arrowTypeName = ''(->)

equalityTypeName :: Name
equalityTypeName = ''(~)

listTypeName :: Name
listTypeName = ''[]

starTypeName :: Name
starTypeName = ''(*)

constraintTypeName :: Name
constraintTypeName = ''Constraint

nilName :: Name
nilName = '[]

consName :: Name
consName = '(:)