Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
HaskellCI.Compiler
Description
This module encodes what we know about GHC, including existing/supported versions.
Synopsis
- data CompilerVersion
- maybeGHC :: a -> (Version -> a) -> CompilerVersion -> a
- isGHCJS :: CompilerVersion -> Bool
- maybeGHCJS :: CompilerVersion -> Maybe Version
- isGHCHead :: CompilerVersion -> Bool
- usesHeadHackage :: VersionRange -> CompilerVersion -> Bool
- isPreviewGHC :: CompilerVersion -> Bool
- compilerKind :: CompilerVersion -> String
- compilerVersion :: CompilerVersion -> String
- data CompilerRange
- compilerWithinRange :: CompilerVersion -> CompilerRange -> Bool
- invertCompilerRange :: CompilerRange -> CompilerRange
- knownGhcVersions :: [Version]
- knownGhcjsVersions :: [Version]
- dispGhcVersion :: CompilerVersion -> String
- dispGhcVersionShort :: CompilerVersion -> String
- dispCabalVersion :: Maybe Version -> String
- correspondingCabalVersion :: Maybe Version -> CompilerVersion -> Maybe Version
- previewCabal :: Maybe Version -> Bool
- ghcMajVer :: Version -> (Int, Int)
- translateCompilerVersion :: CompilerVersion -> CompilerVersion
Compiler version
data CompilerVersion Source #
Instances
Show CompilerVersion Source # | |
Defined in HaskellCI.Compiler Methods showsPrec :: Int -> CompilerVersion -> ShowS # show :: CompilerVersion -> String # showList :: [CompilerVersion] -> ShowS # | |
Eq CompilerVersion Source # | |
Defined in HaskellCI.Compiler Methods (==) :: CompilerVersion -> CompilerVersion -> Bool # (/=) :: CompilerVersion -> CompilerVersion -> Bool # | |
Ord CompilerVersion Source # | |
Defined in HaskellCI.Compiler Methods compare :: CompilerVersion -> CompilerVersion -> Ordering # (<) :: CompilerVersion -> CompilerVersion -> Bool # (<=) :: CompilerVersion -> CompilerVersion -> Bool # (>) :: CompilerVersion -> CompilerVersion -> Bool # (>=) :: CompilerVersion -> CompilerVersion -> Bool # max :: CompilerVersion -> CompilerVersion -> CompilerVersion # min :: CompilerVersion -> CompilerVersion -> CompilerVersion # |
maybeGHC :: a -> (Version -> a) -> CompilerVersion -> a Source #
isGHCJS :: CompilerVersion -> Bool Source #
maybeGHCJS :: CompilerVersion -> Maybe Version Source #
Predicates
isGHCHead :: CompilerVersion -> Bool Source #
Arguments
:: VersionRange | head.hackage range |
-> CompilerVersion | |
-> Bool |
GHC HEAD, and versions specified by head.hackage option.
isPreviewGHC :: CompilerVersion -> Bool Source #
Selectors
compilerKind :: CompilerVersion -> String Source #
Compiler version range
data CompilerRange Source #
Constructors
Range VersionRange | |
RangeGHC | |
RangeGHCJS | |
RangePoints (Set CompilerVersion) | |
RangeInter CompilerRange CompilerRange | |
RangeUnion CompilerRange CompilerRange |
Instances
Show CompilerRange Source # | |
Defined in HaskellCI.Compiler Methods showsPrec :: Int -> CompilerRange -> ShowS # show :: CompilerRange -> String # showList :: [CompilerRange] -> ShowS # | |
BoundedJoinSemiLattice CompilerRange Source # | |
Defined in HaskellCI.Compiler Methods bottom :: CompilerRange # | |
BoundedMeetSemiLattice CompilerRange Source # | |
Defined in HaskellCI.Compiler Methods top :: CompilerRange # | |
Lattice CompilerRange Source # | |
Defined in HaskellCI.Compiler Methods (\/) :: CompilerRange -> CompilerRange -> CompilerRange # (/\) :: CompilerRange -> CompilerRange -> CompilerRange # |
Known versions
knownGhcVersions :: [Version] Source #
knownGhcjsVersions :: [Version] Source #
Showing
Cabal version
correspondingCabalVersion Source #
Arguments
:: Maybe Version | Preferred Cabal Version |
-> CompilerVersion | GHC Version |
-> Maybe Version |
Misc
translateCompilerVersion :: CompilerVersion -> CompilerVersion Source #
Map compiler version to one available to download.
This way we can map e.g. 9.4.1 to 9.4.0.20220501 i.e. a prerelease.