{-# LANGUAGE DeriveDataTypeable #-} module CSPM.DataStructures.Names where import Data.Typeable data Name = Name String | InternalName String deriving (Eq, Ord, Typeable, Show) isInternal :: Name -> Bool isInternal (Name _) = False isInternal (InternalName _) = True mkInternalName :: String -> Name mkInternalName = InternalName data QualifiedName = UnQual Name deriving (Eq, Show)