fay-0.24.2.0: src/Fay/Compiler/Defaults.hs
{-# LANGUAGE OverloadedStrings #-}
-- | Default values.
module Fay.Compiler.Defaults where
import Fay.Compiler.Decl (compileDecls)
import Fay.Compiler.Exp (compileLit)
import Fay.Config
import Fay.Types
import Paths_fay
import Data.Map as M
import Data.Set as S
-- | The data-files source directory.
faySourceDir :: IO FilePath
faySourceDir = getDataFileName "src/"
-- | The default compiler reader value.
defaultCompileReader :: Config -> IO CompileReader
defaultCompileReader config = do
srcdir <- faySourceDir
return CompileReader
{ readerConfig = addConfigDirectoryInclude Nothing srcdir config
, readerCompileLit = compileLit
, readerCompileDecls = compileDecls
}
-- | The default compiler state.
defaultCompileState :: CompileState
defaultCompileState = CompileState
{ stateInterfaces = M.empty
, stateModuleName = "Main"
, stateRecordTypes = []
, stateRecords = []
, stateNewtypes = []
, stateImported = []
, stateNameDepth = 1
, stateJsModulePaths = S.empty
, stateUseFromString = False
, stateTypeSigs = M.empty
}