{-# 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 }