1-- |
2-- Module      : Basement.Imports
3-- License     : BSD-style
4-- Maintainer  : Vincent Hanquez <vincent@snarc.org>
5-- Stability   : experimental
6-- Portability : portable
7--
8-- re-export of all the base prelude and basic primitive stuffs
9{-# LANGUAGE CPP #-}
10module Basement.Imports
11    ( (Prelude.$)
12    , (Prelude.$!)
13    , (Prelude.&&)
14    , (Prelude.||)
15    , (Control.Category..)
16    , (Control.Applicative.<$>)
17    , Prelude.not
18    , Prelude.otherwise
19    , Prelude.fst
20    , Prelude.snd
21    , Control.Category.id
22    , Prelude.maybe
23    , Prelude.either
24    , Prelude.flip
25    , Prelude.const
26    , Basement.Error.error
27    , Prelude.and
28    , Prelude.undefined
29    , Prelude.seq
30    , Prelude.Show
31    , Basement.Show.show
32    , Prelude.Ord (..)
33    , Prelude.Eq (..)
34    , Prelude.Bounded (..)
35    , Prelude.Enum (..)
36    , Prelude.Functor (..)
37    , Control.Applicative.Applicative (..)
38    , Prelude.Monad (..)
39    , Control.Monad.when
40    , Control.Monad.unless
41    , Prelude.Maybe (..)
42    , Prelude.Ordering (..)
43    , Prelude.Bool (..)
44    , Prelude.Int
45    , Prelude.Integer
46    , Basement.Compat.Natural.Natural
47    , Basement.Types.OffsetSize.Offset
48    , Basement.Types.OffsetSize.CountOf
49    , Prelude.Char
50    , Basement.PrimType.PrimType
51    , Basement.Types.Char7.Char7
52    , Basement.Types.AsciiString.AsciiString
53    , Basement.UTF8.Base.String
54    , Basement.UArray.UArray
55    , Basement.BoxedArray.Array
56    , Basement.Compat.NumLiteral.Integral (..)
57    , Basement.Compat.NumLiteral.Fractional (..)
58    , Basement.Compat.NumLiteral.HasNegation (..)
59    , Data.Int.Int8, Data.Int.Int16, Data.Int.Int32, Data.Int.Int64
60    , Data.Word.Word8, Data.Word.Word16, Data.Word.Word32, Data.Word.Word64, Data.Word.Word
61    , Prelude.Double, Prelude.Float
62    , Prelude.IO
63    , FP32
64    , FP64
65    , Basement.Compat.IsList.IsList (..)
66    , GHC.Exts.IsString (..)
67    , GHC.Generics.Generic (..)
68    , Prelude.Either (..)
69    , Data.Data.Data (..)
70    , Data.Data.mkNoRepType
71    , Data.Data.DataType
72    , Data.Typeable.Typeable
73    , Data.Monoid.Monoid (..)
74#if MIN_VERSION_base(4,10,0)
75    -- , (Basement.Compat.Semigroup.<>)
76    , Basement.Compat.Semigroup.Semigroup(..)
77#else
78    , (Data.Monoid.<>)
79    , Basement.Compat.Semigroup.Semigroup
80#endif
81    , Control.Exception.Exception
82    , Control.Exception.throw
83    , Control.Exception.throwIO
84    , GHC.Ptr.Ptr(..)
85    , ifThenElse
86    ) where
87
88import qualified Prelude
89import qualified Control.Category
90import qualified Control.Applicative
91import qualified Control.Exception
92import qualified Control.Monad
93import qualified Data.Monoid
94import qualified Data.Data
95import qualified Data.Typeable
96import qualified Data.Word
97import qualified Data.Int
98import qualified Basement.Compat.IsList
99import qualified Basement.Compat.Natural
100import qualified Basement.Compat.NumLiteral
101import qualified Basement.Compat.Semigroup
102import qualified Basement.UArray
103import qualified Basement.BoxedArray
104import qualified Basement.UTF8.Base
105import qualified Basement.Error
106import qualified Basement.Show
107import qualified Basement.PrimType
108import qualified Basement.Types.OffsetSize
109import qualified Basement.Types.AsciiString
110import qualified Basement.Types.Char7
111import qualified GHC.Exts
112import qualified GHC.Generics
113import qualified GHC.Ptr
114import           GHC.Exts (fromString)
115
116-- | for support of if .. then .. else
117ifThenElse :: Prelude.Bool -> a -> a -> a
118ifThenElse Prelude.True  e1 _  = e1
119ifThenElse Prelude.False _  e2 = e2
120
121-- | IEEE754 Floating point Binary32, simple precision (Also known as Float)
122type FP32 = Prelude.Float
123
124-- | IEEE754 Floating point Binary64, double precision (Also known as Double)
125type FP64 = Prelude.Double
126