ghc-8.4.0.20180118: 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.

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

Methods

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

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

Read Arch # 
Instance details
Show Arch # 
Instance details

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

Methods

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

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

Read OS # 
Instance details
Show OS # 
Instance details

data ArmISA Source #

ARM Instruction Set Architecture, Extensions and ABI

Constructors

ARMv5 
ARMv6 
ARMv7 
Instances
Eq ArmISA # 
Instance details

Methods

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

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

Read ArmISA # 
Instance details
Show ArmISA # 
Instance details

data ArmABI Source #

Constructors

SOFT 
SOFTFP 
HARD 
Instances
Eq ArmABI # 
Instance details

Methods

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

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

Read ArmABI # 
Instance details
Show ArmABI # 
Instance details

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.