Safe Haskell | None |
---|
- cff_magic :: ChunkType
- cff_link :: ChunkType
- cff_libr :: ChunkType
- cff_jhdr :: ChunkType
- cff_core :: ChunkType
- cff_defs :: ChunkType
- cff_lcor :: ChunkType
- cff_ldef :: ChunkType
- cff_idep :: ChunkType
- cff_file :: ChunkType
- type SourceHash = Hash
- type HoHash = Hash
- type ModuleGroup = Module
- data CollectedHo = CollectedHo {
- choExternalNames :: IdSet
- choCombinators :: IdMap Comb
- choOrphanRules :: Rules
- choHoMap :: Map ModuleGroup Ho
- choLibDeps :: Map PackedString HoHash
- choHo :: Ho
- choVarMap :: IdMap (Maybe E)
- data HoHeader = HoHeader {
- hohVersion :: Int
- hohHash :: HoHash
- hohName :: Either ModuleGroup (PackedString, Version)
- hohLibDeps :: [(PackedString, HoHash)]
- hohArchDeps :: [(PackedString, PackedString)]
- data HoIDeps = HoIDeps {
- hoIDeps :: Map SourceHash (Module, [(Module, SrcLoc)])
- hoDepends :: [(Module, SourceHash)]
- hoModDepends :: [HoHash]
- hoModuleGroupNeeds :: [ModuleGroup]
- data HoLib = HoLib {}
- data Library = Library {}
- data HoTcInfo = HoTcInfo {
- hoExports :: Map Module [Name]
- hoDefs :: Map Name (SrcLoc, [Name])
- hoAssumps :: Map Name Type
- hoFixities :: FixityMap
- hoKinds :: KindEnv
- hoTypeSynonyms :: TypeSynonyms
- hoClassHierarchy :: ClassHierarchy
- hoFieldMap :: FieldMap
- data HoBuild = HoBuild {}
- data Ho = Ho {}
- data ExtraFile = ExtraFile {}
- choCombinators_u :: (IdMap Comb -> IdMap Comb) -> CollectedHo -> CollectedHo
- choExternalNames_u :: (IdSet -> IdSet) -> CollectedHo -> CollectedHo
- choHo_u :: (Ho -> Ho) -> CollectedHo -> CollectedHo
- choHoMap_u :: (Map ModuleGroup Ho -> Map ModuleGroup Ho) -> CollectedHo -> CollectedHo
- choLibDeps_u :: (Map PackedString HoHash -> Map PackedString HoHash) -> CollectedHo -> CollectedHo
- choOrphanRules_u :: (Rules -> Rules) -> CollectedHo -> CollectedHo
- choVarMap_u :: (IdMap (Maybe E) -> IdMap (Maybe E)) -> CollectedHo -> CollectedHo
- choCombinators_s :: IdMap Comb -> CollectedHo -> CollectedHo
- choExternalNames_s :: IdSet -> CollectedHo -> CollectedHo
- choHo_s :: Ho -> CollectedHo -> CollectedHo
- choHoMap_s :: Map ModuleGroup Ho -> CollectedHo -> CollectedHo
- choLibDeps_s :: Map PackedString HoHash -> CollectedHo -> CollectedHo
- choOrphanRules_s :: Rules -> CollectedHo -> CollectedHo
- choVarMap_s :: IdMap (Maybe E) -> CollectedHo -> CollectedHo
- hoAssumps_u :: (Map Name Type -> Map Name Type) -> HoTcInfo -> HoTcInfo
- hoClassHierarchy_u :: (ClassHierarchy -> ClassHierarchy) -> HoTcInfo -> HoTcInfo
- hoDefs_u :: (Map Name (SrcLoc, [Name]) -> Map Name (SrcLoc, [Name])) -> HoTcInfo -> HoTcInfo
- hoExports_u :: (Map Module [Name] -> Map Module [Name]) -> HoTcInfo -> HoTcInfo
- hoFieldMap_u :: (FieldMap -> FieldMap) -> HoTcInfo -> HoTcInfo
- hoFixities_u :: (FixityMap -> FixityMap) -> HoTcInfo -> HoTcInfo
- hoKinds_u :: (KindEnv -> KindEnv) -> HoTcInfo -> HoTcInfo
- hoTypeSynonyms_u :: (TypeSynonyms -> TypeSynonyms) -> HoTcInfo -> HoTcInfo
- hoAssumps_s :: Map Name Type -> HoTcInfo -> HoTcInfo
- hoClassHierarchy_s :: ClassHierarchy -> HoTcInfo -> HoTcInfo
- hoDefs_s :: Map Name (SrcLoc, [Name]) -> HoTcInfo -> HoTcInfo
- hoExports_s :: Map Module [Name] -> HoTcInfo -> HoTcInfo
- hoFieldMap_s :: FieldMap -> HoTcInfo -> HoTcInfo
- hoFixities_s :: FixityMap -> HoTcInfo -> HoTcInfo
- hoKinds_s :: KindEnv -> HoTcInfo -> HoTcInfo
- hoTypeSynonyms_s :: TypeSynonyms -> HoTcInfo -> HoTcInfo
- hoDataTable_u :: (DataTable -> DataTable) -> HoBuild -> HoBuild
- hoEs_u :: ([(TVr, E)] -> [(TVr, E)]) -> HoBuild -> HoBuild
- hoRules_u :: (Rules -> Rules) -> HoBuild -> HoBuild
- hoDataTable_s :: DataTable -> HoBuild -> HoBuild
- hoEs_s :: [(TVr, E)] -> HoBuild -> HoBuild
- hoRules_s :: Rules -> HoBuild -> HoBuild
- hoBuild_u :: (HoBuild -> HoBuild) -> Ho -> Ho
- hoModuleGroup_u :: (ModuleGroup -> ModuleGroup) -> Ho -> Ho
- hoTcInfo_u :: (HoTcInfo -> HoTcInfo) -> Ho -> Ho
- hoBuild_s :: HoBuild -> Ho -> Ho
- hoModuleGroup_s :: ModuleGroup -> Ho -> Ho
- hoTcInfo_s :: HoTcInfo -> Ho -> Ho
Documentation
type SourceHash = HashSource
A SourceHash is the hash of a specific file, it is associated with a
specific Module
that said file implements.
type ModuleGroup = ModuleSource
while a Module
is a single Module associated with a single haskell source
file, a ModuleGroup
identifies a group of mutually recursive modules.
Generally it is chosen from among the Modules making up the group, but the
specific choice has no other meaning. We could use the HoHash, but for readability
reasons when debugging it makes more sense to choose an arbitrary Module.
data CollectedHo Source
the collected information that is passed around this is not stored in any file, but is what is collected from the ho files.
CollectedHo | |
|
The header contains basic information about the file, it should be enough to determine whether we can discard the file right away or consider it further.
HoHeader | |
|
These are the dependencies needed to check if a ho file is up to date. it only appears in ho files as hl files do not have source code to check against or depend on anything but other libraries.
HoIDeps | |
|
HoLib | |
|
Library | |
|
data only needed for type checking.
HoTcInfo | |
|
Generated by DrIFT : Look, but Don't Touch. *
choCombinators_u :: (IdMap Comb -> IdMap Comb) -> CollectedHo -> CollectedHoSource
choExternalNames_u :: (IdSet -> IdSet) -> CollectedHo -> CollectedHoSource
choHo_u :: (Ho -> Ho) -> CollectedHo -> CollectedHoSource
choHoMap_u :: (Map ModuleGroup Ho -> Map ModuleGroup Ho) -> CollectedHo -> CollectedHoSource
choLibDeps_u :: (Map PackedString HoHash -> Map PackedString HoHash) -> CollectedHo -> CollectedHoSource
choOrphanRules_u :: (Rules -> Rules) -> CollectedHo -> CollectedHoSource
choVarMap_u :: (IdMap (Maybe E) -> IdMap (Maybe E)) -> CollectedHo -> CollectedHoSource
choHo_s :: Ho -> CollectedHo -> CollectedHoSource
choHoMap_s :: Map ModuleGroup Ho -> CollectedHo -> CollectedHoSource
choVarMap_s :: IdMap (Maybe E) -> CollectedHo -> CollectedHoSource
hoClassHierarchy_u :: (ClassHierarchy -> ClassHierarchy) -> HoTcInfo -> HoTcInfoSource
hoTypeSynonyms_u :: (TypeSynonyms -> TypeSynonyms) -> HoTcInfo -> HoTcInfoSource
hoFieldMap_s :: FieldMap -> HoTcInfo -> HoTcInfoSource
hoFixities_s :: FixityMap -> HoTcInfo -> HoTcInfoSource
hoDataTable_s :: DataTable -> HoBuild -> HoBuildSource
hoModuleGroup_u :: (ModuleGroup -> ModuleGroup) -> Ho -> HoSource
hoModuleGroup_s :: ModuleGroup -> Ho -> HoSource
hoTcInfo_s :: HoTcInfo -> Ho -> HoSource