ghc-8.6.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
Eq Platform # 
Instance details

Defined in Platform

Read Platform # 
Instance details

Defined in Platform

Show Platform # 
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
Eq Arch # 
Instance details

Defined in Platform

Methods

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

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

Read Arch # 
Instance details

Defined in Platform

Show Arch # 
Instance details

Defined in Platform

data OS Source #

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

Instances
Eq OS # 
Instance details

Defined in Platform

Methods

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

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

Read OS # 
Instance details

Defined in Platform

Show OS # 
Instance details

Defined in Platform

data ArmISA Source #

ARM Instruction Set Architecture, Extensions and ABI

Constructors

ARMv5 
ARMv6 
ARMv7 
Instances
Eq ArmISA # 
Instance details

Defined in Platform

Methods

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

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

Read ArmISA # 
Instance details

Defined in Platform

Show ArmISA # 
Instance details

Defined in Platform

data ArmISAExt Source #

Constructors

VFPv2 
VFPv3 
VFPv3D16 
NEON 
IWMMX2 
Instances
Eq ArmISAExt # 
Instance details

Defined in Platform

Read ArmISAExt # 
Instance details

Defined in Platform

Show ArmISAExt # 
Instance details

Defined in Platform

data ArmABI Source #

Constructors

SOFT 
SOFTFP 
HARD 
Instances
Eq ArmABI # 
Instance details

Defined in Platform

Methods

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

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

Read ArmABI # 
Instance details

Defined in Platform

Show ArmABI # 
Instance details

Defined in Platform

data PPC_64ABI Source #

PowerPC 64-bit ABI

Constructors

ELF_V1 
ELF_V2 
Instances
Eq PPC_64ABI # 
Instance details

Defined in Platform

Read PPC_64ABI # 
Instance details

Defined in Platform

Show PPC_64ABI # 
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.