let defs = ./defaults.dhall
in let testopts = [ "-rtsopts", "-threaded", "-with-rtsopts=-N" ]
in defs
⫽ { name = "ghc-corroborate"
, synopsis = "An flatter API for GHC typechecker plugins"
, description =
''
The GHC API changes over time. This package re-exports most GHC
imports needed by typechecker plugins from its GHC.Corroborate module
with a stable API over multiple GHC versions.''
, category = "Type System, GHC, Plugin"
, github = "blockscope/ghc-corroborate"
, stability = "experimental"
, extra-source-files =
[ "LICENSE.md", "changelog.md", "defaults.dhall", "package.dhall" ]
, library =
{ dependencies = defs.dependencies # [ "ghc-tcplugins-extra" ]
, exposed-modules =
[ "GhcApi.Constraint"
, "GhcApi.Predicate"
, "GhcApi.GhcPlugins"
, "GHC.Corroborate.Constraint"
, "GHC.Corroborate.Evidence"
, "GHC.Corroborate.Compare"
, "GHC.Corroborate.Shim"
, "GHC.Corroborate.Wrap"
, "GHC.Corroborate.Divulge"
, "GHC.Corroborate"
]
, other-modules = [] : List Text
, when =
[ { condition = "impl(ghc >= 9.2) && impl(ghc < 9.4)"
, source-dirs = [ "src-ghc-tree", "src-ghc-9.2" ]
, dependencies =
[ { name = "ghc"
, version = ">=9.2 && <9.4"
, mixin = [] : List Text
}
]
}
, { condition = "impl(ghc >= 9.0) && impl(ghc < 9.2)"
, source-dirs = [ "src-ghc-tree", "src-ghc-9.0" ]
, dependencies =
[ { name = "ghc"
, version = ">=9.0 && <9.2"
, mixin = [] : List Text
}
]
}
, { condition = "impl(ghc >= 8.10.0) && impl(ghc < 9.0)"
, source-dirs = [ "src-ghc-flat", "src-ghc-8.10" ]
, dependencies =
[ { name = "ghc"
, version = ">=8.10 && <8.12"
, mixin = [] : List Text
}
]
}
, { condition = "impl(ghc >= 8.8.0) && impl(ghc < 8.10.0)"
, source-dirs = [ "src-ghc-flat", "src-ghc-8.8" ]
, dependencies =
[ { name = "ghc"
, version = ">=8.8 && <8.10"
, mixin =
[ "hiding ()"
, "(TcRnTypes as TcRnTypes)"
, "(Type as Type)"
, "(TcRnTypes as Constraint)"
, "(Type as Predicate)"
]
}
]
}
, { condition = "impl(ghc >= 8.6.0) && impl(ghc < 8.8.0)"
, source-dirs = [ "src-ghc-flat", "src-ghc-8.6" ]
, dependencies =
[ { name = "ghc"
, version = ">=8.6 && <8.8"
, mixin =
[ "hiding ()"
, "(TcRnTypes as TcRnTypes)"
, "(Type as Type)"
, "(TcRnTypes as Constraint)"
, "(Type as Predicate)"
]
}
]
}
, { condition = "impl(ghc >= 8.4.0) && impl(ghc < 8.6.0)"
, source-dirs = [ "src-ghc-flat", "src-ghc-8.4" ]
, dependencies =
[ { name = "ghc"
, version = ">=8.4 && <8.6"
, mixin =
[ "hiding ()"
, "(TcRnTypes as TcRnTypes)"
, "(Type as Type)"
, "(TcRnTypes as Constraint)"
, "(Type as Predicate)"
]
}
]
}
, { condition = "impl(ghc >= 8.2.0) && impl(ghc < 8.4.0)"
, source-dirs = [ "src-ghc-flat", "src-ghc-8.2" ]
, dependencies =
[ { name = "ghc"
, version = ">=8.2 && <8.4"
, mixin =
[ "hiding ()"
, "(TcRnTypes as TcRnTypes)"
, "(Type as Type)"
, "(TcRnTypes as Constraint)"
, "(Type as Predicate)"
]
}
]
}
, { condition = "impl(ghc >= 8.0.0) && impl(ghc < 8.2.0)"
, source-dirs = [ "src-ghc-flat", "src-ghc-8.0" ]
, dependencies =
[ { name = "ghc"
, version = ">=8.0 && <8.2"
, mixin =
[ "hiding ()"
, "(TcRnTypes as TcRnTypes)"
, "(Type as Type)"
, "(TcRnTypes as Constraint)"
, "(Type as Predicate)"
]
}
]
}
]
}
}