haskell-awk-1.1: src/System/Console/Hawk/UserPrelude/Defaults.hs
-- | The user prelude you get if the user doesn't have a prelude.
module System.Console.Hawk.UserPrelude.Defaults where
import Control.Arrow ((&&&))
import Data.HaskellModule
-- | Imported at runtime even if missing from the user prelude.
-- Since they are fully qualified, they should not conflict with any
-- user-imported module.
defaultModules :: [QualifiedModule]
defaultModules =
-- types used to describe the expression interpreted by hint
-- must be imported unqualified
("System.Console.Hawk.Runtime.Base", Nothing)
: map fullyQualified
[ "Prelude"
, "System.Console.Hawk.Representable"
, "System.Console.Hawk.Runtime"
, "System.IO.Unsafe"
, "Data.ByteString.Lazy.Char8"
]
where
fullyQualified = (id &&& Just)
defaultPrelude :: String
defaultPrelude = unlines
[ "{-# LANGUAGE ExtendedDefaultRules, OverloadedStrings #-}"
, "import Prelude"
, "import qualified Data.ByteString.Lazy.Char8 as B"
, "import qualified Data.List as L"
]
defaultModuleName :: String
defaultModuleName = "System.Console.Hawk.CachedPrelude"