module Foundation
(
(Prelude.$)
, (Prelude.$!)
, (Prelude.&&)
, (Prelude.||)
, (Control.Category..)
, Prelude.not
, Prelude.otherwise
, module Foundation.Tuple
, Control.Category.id
, Prelude.maybe
, Prelude.either
, Prelude.flip
, Prelude.const
, Basement.Imports.error
, Foundation.IO.Terminal.putStr
, Foundation.IO.Terminal.putStrLn
, getArgs
, Prelude.uncurry
, Prelude.curry
, Data.Tuple.swap
, Prelude.until
, Prelude.asTypeOf
, Prelude.undefined
, Prelude.seq
, Foundation.Primitive.NormalForm
, Foundation.Primitive.deepseq
, Foundation.Primitive.force
, Prelude.Show
, Basement.Imports.show
, Prelude.Ord (..)
, Prelude.Eq (..)
, Prelude.Bounded (..)
, Prelude.Enum (..)
, Prelude.Functor (..)
, Integral (..)
, Fractional (..)
, HasNegation (..)
, Basement.Compat.Bifunctor.Bifunctor (..)
, Control.Applicative.Applicative (..)
, Prelude.Monad (..)
, (Control.Monad.=<<)
, IsString(..)
, IsList(..)
, Foundation.Numerical.IsIntegral (..)
, Foundation.Numerical.IsNatural (..)
, Foundation.Numerical.Signed (..)
, Foundation.Numerical.Additive (..)
, Foundation.Numerical.Subtractive (..)
, Foundation.Numerical.Multiplicative (..)
, Foundation.Numerical.IDivisible(..)
, Foundation.Numerical.Divisible(..)
, Prelude.Maybe (..)
, Prelude.Ordering (..)
, Prelude.Bool (..)
, Prelude.Char
, Char7
, Prelude.IO
, Prelude.Either (..)
, Data.Int.Int8, Data.Int.Int16, Data.Int.Int32, Data.Int.Int64
, Data.Word.Word8, Data.Word.Word16, Data.Word.Word32, Data.Word.Word64, Data.Word.Word
, Word128, Word256
, Prelude.Int
, Prelude.Integer
, Natural
, Prelude.Rational
, Prelude.Float
, Prelude.Double
, CountOf(..), Offset(..)
, toCount
, fromCount
, UArray
, PrimType
, Array
, String
, (Prelude.^^)
, Prelude.fromIntegral
, Prelude.realToFrac
, Basement.Compat.Semigroup.Semigroup
, Monoid (..)
, (<>)
, Collection(..)
, and
, or
, Sequential(..)
, NonEmpty
, nonEmpty
, Foldable(..)
, Data.Maybe.mapMaybe
, Data.Maybe.catMaybes
, Data.Maybe.fromMaybe
, Data.Maybe.isJust
, Data.Maybe.isNothing
, Data.Maybe.listToMaybe
, Data.Maybe.maybeToList
, Data.Either.partitionEithers
, Data.Either.lefts
, Data.Either.rights
, Data.Function.on
, (Control.Applicative.<$>)
, (Control.Applicative.<|>)
, (Control.Monad.>=>)
, Control.Exception.Exception (..)
, Data.Typeable.Typeable
, Control.Exception.SomeException
, Control.Exception.IOException
, Data.Proxy.Proxy(..)
, Data.Proxy.asProxyTypeOf
, Foundation.Partial.Partial
, Foundation.Partial.partial
, Foundation.Partial.PartialError
, Foundation.Partial.fromPartial
, Basement.Compat.Base.ifThenElse
, LString
) where
import qualified Prelude
import Data.Monoid (Monoid (..), (<>))
import Control.Applicative
import qualified Control.Category
import qualified Control.Monad
import qualified Control.Exception
import qualified Data.Typeable
import Data.Word (Word8, Word16, Word32, Word64, Word)
import Data.Int (Int8, Int16, Int32, Int64)
import Foundation.String (String)
import Foundation.Array (UArray, Array, PrimType)
import Foundation.Collection (Collection(..), and, or, Sequential(..)
, NonEmpty, nonEmpty, Foldable(..))
import qualified Foundation.IO.Terminal
import GHC.Exts (IsString(..))
import Basement.Compat.IsList
import qualified Basement.Compat.Base (ifThenElse)
import qualified Data.Proxy
import qualified Foundation.Numerical
import qualified Foundation.Partial
import Foundation.Tuple
import qualified Basement.Compat.Bifunctor
import Basement.Types.OffsetSize (CountOf(..), Offset(..))
import Basement.Types.Word128 (Word128)
import Basement.Types.Word256 (Word256)
import Basement.Types.Char7 (Char7)
import qualified Foundation.Primitive
import qualified Basement.Imports
import Basement.Environment (getArgs)
import Basement.Compat.NumLiteral
import Basement.Compat.Natural
import qualified Basement.Compat.Semigroup
import qualified Data.Maybe
import qualified Data.Either
import qualified Data.Function
import qualified Data.Tuple
default (Prelude.Integer, Prelude.Double)
type LString = Prelude.String
fromCount :: CountOf ty -> Prelude.Int
fromCount :: CountOf ty -> Int
fromCount (CountOf Int
n) = Int
n
toCount :: Prelude.Int -> CountOf ty
toCount :: Int -> CountOf ty
toCount Int
i
| Int
i Int -> Int -> Bool
forall a. Ord a => a -> a -> Bool
Prelude.<= Int
0 = Int -> CountOf ty
forall ty. Int -> CountOf ty
CountOf Int
0
| Bool
Prelude.otherwise = Int -> CountOf ty
forall ty. Int -> CountOf ty
CountOf Int
i