module ProjectM36.AtomFunctions.Basic where
import ProjectM36.Base
import ProjectM36.DataTypes.Day
import ProjectM36.DataTypes.Either
import ProjectM36.DataTypes.Maybe
import ProjectM36.DataTypes.Interval
import ProjectM36.DataTypes.ByteString
import ProjectM36.AtomFunctions.Primitive
import ProjectM36.AtomFunction
import ProjectM36.DataTypes.List
import ProjectM36.DataTypes.DateTime
import qualified Data.HashSet as HS
basicAtomFunctions :: AtomFunctions
basicAtomFunctions = HS.unions [primitiveAtomFunctions,
dayAtomFunctions,
dateTimeAtomFunctions,
eitherAtomFunctions,
maybeAtomFunctions,
listAtomFunctions,
bytestringAtomFunctions,
intervalAtomFunctions]
precompiledAtomFunctions :: AtomFunctions
precompiledAtomFunctions = HS.filter (not . isScriptedAtomFunction) basicAtomFunctions