foundation-0.0.25: Alternative prelude with batteries and no dependencies

License | BSD-style
Maintainer | foundation
Stability | experimental
Portability | portable
Safe Haskell | None
Language | Haskell2010

Foundation.System.Info

Contents

- Operation System info
- CPU info
- Compiler info

Description

Synopsis

- data OS
  - = Windows
  - | OSX
  - | Linux
  - | Android
  - | BSD
- os :: Either [Char] OS
- data Arch
  - = I386
  - | X86_64
  - | PowerPC
  - | PowerPC64
  - | Sparc
  - | Sparc64
  - | ARM
  - | ARM64
- arch :: Either [Char] Arch
- cpus :: IO Int
- data Endianness
  - = LittleEndian
  - | BigEndian
- endianness :: Endianness
- compilerName :: String
- compilerVersion :: Version
- data Version = Version {
  - versionBranch :: [Int]
  - versionTags :: [String]
  }

# Operation System info

data OS Source #

Constructors

Windows |
OSX |
Linux |
Android |
BSD |

#### Instances

Instances details

Bounded OS Source # |
Instance details Defined in Foundation.System.Info Methods minBound :: OS # maxBound :: OS #
Enum OS Source # |
Instance details Defined in Foundation.System.Info Methods succ :: OS -> OS # pred :: OS -> OS # toEnum :: Int -> OS # fromEnum :: OS -> Int # enumFrom :: OS -> [OS] # enumFromThen :: OS -> OS -> [OS] # enumFromTo :: OS -> OS -> [OS] # enumFromThenTo :: OS -> OS -> OS -> [OS] #
Eq OS Source # |
Instance details Defined in Foundation.System.Info Methods (==) :: OS -> OS -> Bool # (/=) :: OS -> OS -> Bool #
Data OS Source # |

Instance details

Defined in Foundation.System.Info

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> OS -> c OS #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c OS #

toConstr :: OS -> Constr #

dataTypeOf :: OS -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c OS) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c OS) #

gmapT :: (forall b. Data b => b -> b) -> OS -> OS #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> OS -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> OS -> r #

gmapQ :: (forall d. Data d => d -> u) -> OS -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> OS -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> OS -> m OS #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> OS -> m OS #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> OS -> m OS #

Ord OS Source # |
Instance details Defined in Foundation.System.Info Methods compare :: OS -> OS -> Ordering # (<) :: OS -> OS -> Bool # (<=) :: OS -> OS -> Bool # (>) :: OS -> OS -> Bool # (>=) :: OS -> OS -> Bool # max :: OS -> OS -> OS # min :: OS -> OS -> OS #
Show OS Source # |
Instance details Defined in Foundation.System.Info Methods showsPrec :: Int -> OS -> ShowS # show :: OS -> String # showList :: [OS] -> ShowS #

os :: Either [Char] OS Source #

get the operating system on which the program is running.

Either return the known `OS` or a strict `String` of the OS name.

This function uses the `base`'s `os` function.

# CPU info

data Arch Source #

Enumeration of the known GHC supported architecture.

Constructors

I386 |
X86_64 |
PowerPC |
PowerPC64 |
Sparc |
Sparc64 |
ARM |
ARM64 |

#### Instances

Instances details

Bounded Arch Source # |
Instance details Defined in Foundation.System.Info Methods minBound :: Arch # maxBound :: Arch #
Enum Arch Source # |
Instance details Defined in Foundation.System.Info Methods succ :: Arch -> Arch # pred :: Arch -> Arch # toEnum :: Int -> Arch # fromEnum :: Arch -> Int # enumFrom :: Arch -> [Arch] # enumFromThen :: Arch -> Arch -> [Arch] # enumFromTo :: Arch -> Arch -> [Arch] # enumFromThenTo :: Arch -> Arch -> Arch -> [Arch] #
Eq Arch Source # |
Instance details Defined in Foundation.System.Info Methods (==) :: Arch -> Arch -> Bool # (/=) :: Arch -> Arch -> Bool #
Data Arch Source # |

Instance details

Defined in Foundation.System.Info

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Arch -> c Arch #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Arch #

toConstr :: Arch -> Constr #

dataTypeOf :: Arch -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Arch) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Arch) #

gmapT :: (forall b. Data b => b -> b) -> Arch -> Arch #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Arch -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Arch -> r #

gmapQ :: (forall d. Data d => d -> u) -> Arch -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> Arch -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Arch -> m Arch #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Arch -> m Arch #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Arch -> m Arch #

Ord Arch Source # |
Instance details Defined in Foundation.System.Info Methods compare :: Arch -> Arch -> Ordering # (<) :: Arch -> Arch -> Bool # (<=) :: Arch -> Arch -> Bool # (>) :: Arch -> Arch -> Bool # (>=) :: Arch -> Arch -> Bool # max :: Arch -> Arch -> Arch # min :: Arch -> Arch -> Arch #
Show Arch Source # |
Instance details Defined in Foundation.System.Info Methods showsPrec :: Int -> Arch -> ShowS # show :: Arch -> String # showList :: [Arch] -> ShowS #

arch :: Either [Char] Arch Source #

get the machine architecture on which the program is running

Either return the known architecture or a Strict `String` of the architecture name.

This function uses the `base`'s `arch` function.

cpus :: IO Int Source #

returns the number of CPUs the machine has

data Endianness Source #

Constructors

LittleEndian |
BigEndian |

#### Instances

Instances details

Eq Endianness |
Instance details Defined in Basement.Endianness Methods (==) :: Endianness -> Endianness -> Bool # (/=) :: Endianness -> Endianness -> Bool #
Show Endianness |
Instance details Defined in Basement.Endianness Methods showsPrec :: Int -> Endianness -> ShowS # show :: Endianness -> String # showList :: [Endianness] -> ShowS #

endianness :: Endianness Source #

endianness of the current architecture

# Compiler info

compilerName :: String Source #

get the compiler name

get the compilerName from base package but convert it into a strict String

compilerVersion :: Version #

data Version #

Constructors

Version |

Fields

- versionBranch :: [Int]
- versionTags :: [String]

#### Instances

Instances details

IsList Version |
Instance details Defined in GHC.Exts Associated Types type Item Version # Methods fromList :: [Item Version] -> Version # fromListN :: Int -> [Item Version] -> Version # toList :: Version -> [Item Version] #
Eq Version |
Instance details Defined in Data.Version Methods (==) :: Version -> Version -> Bool # (/=) :: Version -> Version -> Bool #
Data Version |

Instance details

Defined in Data.Data

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Version -> c Version #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Version #

toConstr :: Version -> Constr #

dataTypeOf :: Version -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Version) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Version) #

gmapT :: (forall b. Data b => b -> b) -> Version -> Version #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Version -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Version -> r #

gmapQ :: (forall d. Data d => d -> u) -> Version -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> Version -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Version -> m Version #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Version -> m Version #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Version -> m Version #

Ord Version |
Instance details Defined in Data.Version Methods compare :: Version -> Version -> Ordering # (<) :: Version -> Version -> Bool # (<=) :: Version -> Version -> Bool # (>) :: Version -> Version -> Bool # (>=) :: Version -> Version -> Bool # max :: Version -> Version -> Version # min :: Version -> Version -> Version #
Read Version |
Instance details Defined in Data.Version Methods readsPrec :: Int -> ReadS Version readList :: ReadS [Version] readPrec :: ReadPrec Version readListPrec :: ReadPrec [Version]
Show Version |
Instance details Defined in Data.Version Methods showsPrec :: Int -> Version -> ShowS # show :: Version -> String # showList :: [Version] -> ShowS #
Generic Version |
Instance details Defined in Data.Version Associated Types type Rep Version :: Type -> Type # Methods from :: Version -> Rep Version x # to :: Rep Version x -> Version #
type Rep Version |
Instance details Defined in Data.Version type Rep Version = D1 ('MetaData "Version" "Data.Version" "base" 'False) (C1 ('MetaCons "Version" 'PrefixI 'True) (S1 ('MetaSel ('Just "versionBranch") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Int]) :*: S1 ('MetaSel ('Just "versionTags") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [String])))
type Item Version |
Instance details Defined in GHC.Exts type Item Version = Int