| Safe Haskell | Safe |
|---|---|
| Language | Haskell2010 |
Platform
Description
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.
Constructors
| 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.
Constructors
| 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.
Constructors
| OSUnknown | |
| OSLinux | |
| OSDarwin | |
| OSSolaris2 | |
| OSMinGW32 | |
| OSFreeBSD | |
| OSDragonFly | |
| OSOpenBSD | |
| OSNetBSD | |
| OSKFreeBSD | |
| OSHaiku | |
| OSQNXNTO | |
| OSAIX | |
| OSHurd |
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 #