Safe Haskell | Safe |
---|---|
Language | Haskell2010 |
A description of the platform we're compiling for.
Synopsis
- data Platform = Platform {}
- data Arch
- = ArchUnknown
- | ArchX86
- | ArchX86_64
- | ArchPPC
- | ArchPPC_64 { }
- | ArchSPARC
- | ArchSPARC64
- | ArchARM { }
- | ArchARM64
- | ArchAlpha
- | ArchMipseb
- | ArchMipsel
- | ArchJavaScript
- data OS
- data ArmISA
- data ArmISAExt
- data ArmABI
- data PPC_64ABI
- target32Bit :: Platform -> Bool
- isARM :: Arch -> Bool
- osElfTarget :: OS -> Bool
- osMachOTarget :: OS -> Bool
- osSubsectionsViaSymbols :: OS -> Bool
- platformUsesFrameworks :: Platform -> Bool
Documentation
Contains enough information for the native code generator to emit code for this platform.
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.
ArchUnknown | |
ArchX86 | |
ArchX86_64 | |
ArchPPC | |
ArchPPC_64 | |
ArchSPARC | |
ArchSPARC64 | |
ArchARM | |
ArchARM64 | |
ArchAlpha | |
ArchMipseb | |
ArchMipsel | |
ArchJavaScript |
Operating systems that the native code generator knows about. Having OSUnknown should produce a sensible default, but no promises.
OSUnknown | |
OSLinux | |
OSDarwin | |
OSSolaris2 | |
OSMinGW32 | |
OSFreeBSD | |
OSDragonFly | |
OSOpenBSD | |
OSNetBSD | |
OSKFreeBSD | |
OSHaiku | |
OSQNXNTO | |
OSAIX |
ARM Instruction Set Architecture, Extensions and ABI
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.
osSubsectionsViaSymbols :: OS -> Bool Source #