ghc-8.4.2: 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 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
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

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 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

data ArmISA Source #

ARM Instruction Set Architecture, Extensions and ABI

Constructors

ARMv5 
ARMv6 
ARMv7 
Instances
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 ArmABI Source #

Constructors

SOFT 
SOFTFP 
HARD 
Instances
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 

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.