Safe Haskell | None |
---|---|
Language | Haskell98 |
This module contains the code for Incremental checking, which finds the
part of a target file (the subset of the [CoreBind]
that have been
modified since it was last checked, as determined by a diff against
a saved version of the file.
Changed binders + Unchanged Errors
Data Types ----------------------------------------------------------------
Main type of value returned for diff-check.
Use previously saved info to generate DiffCheck target
slice :: FilePath -> [CoreBind] -> GhcSpec -> IO (Maybe DiffCheck) Source #
slice
returns a subset of the [CoreBind]
of the input target
file which correspond to top-level binders whose code has changed
and their transitive dependencies.
Use target binders to generate DiffCheck target
thin :: [CoreBind] -> GhcSpec -> [Var] -> DiffCheck Source #
thin cbs sp vs
returns a subset of the cbs :: [CoreBind]
which
correspond to the definitions of vs
and the functions transitively
called therein for which there are *no* type signatures. Callees with
type signatures are assumed to satisfy those signatures.
Save current information for next time
saveResult :: FilePath -> Output Doc -> IO () Source #
save
creates an .saved version of the target
file, which will be
used to find what has changed the next time target
is checked.
Names of top-level binders that are rechecked
checkedVars :: DiffCheck -> [Var] Source #
checkedNames
returns the names of the top-level binders that will be checked
CoreBinds defining given set of Var
Orphan instances
Functor Diff Source # | |
ToJSON SourcePos Source # | Aeson instances ----------------------------------------------------------- |
ToJSON Doc Source # | |
ToJSON ErrorResult Source # | |
FromJSON SourcePos Source # | |
FromJSON Doc Source # | |
FromJSON ErrorResult Source # | |
ToJSON (Output Doc) Source # | |
ToJSON a => ToJSON (AnnInfo a) Source # | |
FromJSON (Output Doc) Source # | |
FromJSON a => FromJSON (AnnInfo a) Source # | |
(ToJSON k, ToJSON v) => ToJSON (HashMap k v) Source # | |
(Eq k, Hashable k, FromJSON k, FromJSON v) => FromJSON (HashMap k v) Source # | |