-- | Valid characters for Haskell syntax entities.
module Language.Valid (isSymbolChar, isModuleStartChar, isModuleChar) where

import Data.Set (member)
import Language.Valid.Private

-- | Is @c@ a symbol character?
isSymbolChar :: Char -> Bool
isSymbolChar = flip member symbolChars

-- | Is @c@ a valid character to start a module name with?
isModuleStartChar :: Char -> Bool
isModuleStartChar = flip member moduleStartChars

-- | Is @c@ a valid module name character?
isModuleChar :: Char -> Bool
isModuleChar = flip member moduleChars