-- | Prelude for Dino expressions -- -- This module mostly re-exports the standard "Prelude", but hides identifiers -- that are overridden by Dino definitions. module Dino.Prelude ( module Prelude , HasField , Hashable , IsLabel , KnownSymbol , Symbol , Text , Typeable -- Needed when `RebindableSyntax` is enabled: , fromLabel , fromString , join ) where -- Regarding the exports: -- -- * Dino code and ordinary application code normally live in separate -- modules. Dino code normally doesn't need to use IO, except maybe for -- calling a back end and printing results. Hence it only needs a simple -- prelude. -- -- * Dino is supposed to be used by non-developers who are maybe Haskell -- beginners. The standard Prelude seems suitable for them. -- -- * Prelude deficiencies such as `String` and partial functions are no -- problem for Dino code, since Haskell's run time is Dino's compile time. import Prelude hiding ( RealFrac(..) , (&&) , (||) , (==) , (/=) , (<) , (>) , (<=) , (>=) , all , and , any , fromIntegral , max , maybe , min , not , or ) import Prelude (RealFrac) import Control.Monad (join) import Data.Hashable (Hashable) import Data.String (fromString) import Data.Text (Text) import Data.Typeable (Typeable) import GHC.OverloadedLabels (IsLabel (..)) import GHC.TypeLits (KnownSymbol, Symbol) import GHC.Records (HasField)