ghc-8.8.3: The GHC API
Safe HaskellSafe
LanguageHaskell2010

Platform

Description

A description of the platform we're compiling for.

Synopsis

Documentation

data Platform Source #

Contains enough information for the native code generator to emit code for this platform.

Instances

Instances details
Eq Platform Source # 
Instance details

Defined in Platform

Read Platform Source # 
Instance details

Defined in Platform

Show Platform Source # 
Instance details

Defined in Platform

data Arch Source #

Architectures that the native code generator knows about. TODO: It might be nice to extend these constructors with information about what instruction set extensions an architecture might support.

Instances

Instances details
Eq Arch Source # 
Instance details

Defined in Platform

Methods

(==) :: Arch -> Arch -> Bool #

(/=) :: Arch -> Arch -> Bool #

Read Arch Source # 
Instance details

Defined in Platform

Show Arch Source # 
Instance details

Defined in Platform

Methods

showsPrec :: Int -> Arch -> ShowS #

show :: Arch -> String #

showList :: [Arch] -> ShowS #

data OS Source #

Operating systems that the native code generator knows about. Having OSUnknown should produce a sensible default, but no promises.

Instances

Instances details
Eq OS Source # 
Instance details

Defined in Platform

Methods

(==) :: OS -> OS -> Bool #

(/=) :: OS -> OS -> Bool #

Read OS Source # 
Instance details

Defined in Platform

Show OS Source # 
Instance details

Defined in Platform

Methods

showsPrec :: Int -> OS -> ShowS #

show :: OS -> String #

showList :: [OS] -> ShowS #

data ArmISA Source #

ARM Instruction Set Architecture, Extensions and ABI

Constructors

ARMv5 
ARMv6 
ARMv7 

Instances

Instances details
Eq ArmISA Source # 
Instance details

Defined in Platform

Methods

(==) :: ArmISA -> ArmISA -> Bool #

(/=) :: ArmISA -> ArmISA -> Bool #

Read ArmISA Source # 
Instance details

Defined in Platform

Show ArmISA Source # 
Instance details

Defined in Platform

data ArmISAExt Source #

Constructors

VFPv2 
VFPv3 
VFPv3D16 
NEON 
IWMMX2 

Instances

Instances details
Eq ArmISAExt Source # 
Instance details

Defined in Platform

Read ArmISAExt Source # 
Instance details

Defined in Platform

Show ArmISAExt Source # 
Instance details

Defined in Platform

data ArmABI Source #

Constructors

SOFT 
SOFTFP 
HARD 

Instances

Instances details
Eq ArmABI Source # 
Instance details

Defined in Platform

Methods

(==) :: ArmABI -> ArmABI -> Bool #

(/=) :: ArmABI -> ArmABI -> Bool #

Read ArmABI Source # 
Instance details

Defined in Platform

Show ArmABI Source # 
Instance details

Defined in Platform

data PPC_64ABI Source #

PowerPC 64-bit ABI

Constructors

ELF_V1 
ELF_V2 

Instances

Instances details
Eq PPC_64ABI Source # 
Instance details

Defined in Platform

Read PPC_64ABI Source # 
Instance details

Defined in Platform

Show PPC_64ABI Source # 
Instance details

Defined in Platform

target32Bit :: Platform -> Bool Source #

This predicate tells us whether the platform is 32-bit.

osElfTarget :: OS -> Bool Source #

This predicate tells us whether the OS supports ELF-like shared libraries.

osMachOTarget :: OS -> Bool Source #

This predicate tells us whether the OS support Mach-O shared libraries.