{-# LANGUAGE GeneralizedNewtypeDeriving,DeriveDataTypeable #-}
-----------------------------------------------------------------------------
-- |
-- Module      :  Language.Haskell.Syntax.Internals
-- Copyright   :  (c) The University of Glasgow 2009
-- License     :  BSD-style (see the file libraries/base/LICENSE)
-- 
-- Maintainer  :  libraries@haskell.org
-- Stability   :  experimental
-- Portability :  portable
--
-- Abstract syntax definitions for Template Haskell.
--
-----------------------------------------------------------------------------

module Language.Haskell.TH.Syntax.Internals (
    ModName(..), PkgName(..), OccName(..)
 ) where

import Data.Data

newtype ModName = ModName String	-- Module name
 deriving (Eq,Ord,Typeable,Data)

newtype PkgName = PkgName String	-- package name
 deriving (Eq,Ord,Typeable,Data)

newtype OccName = OccName String
 deriving (Eq,Ord,Typeable,Data)