module Data.ConfigManager.Types.Internal ( Config(..) , Expr(..) , Name , Value , Requirement(..) ) where import Data.Text (Text) import Data.HashMap.Strict -- | Configuration data. data Config = Config { hashMap :: HashMap Name Value } deriving (Eq, Read, Show) -- | An expression is either a binding or an import. data Expr = Binding Name Value | Import Requirement FilePath deriving (Eq, Read, Show) -- | A name is a text. type Name = Text -- | A value is a text. type Value = Text -- | A requirement is either required or optional. data Requirement = Required | Optional deriving (Eq, Read, Show)