liquidhaskell- Liquid Types for Haskell

Safe HaskellNone




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 DiffCheck Source

Main type of value returned for diff-check.




newBinds :: [CoreBind]
oldOutput :: !(Output Doc)

Use previously saved info to generate DiffCheck target

slice :: FilePath -> [CoreBind] -> 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] -> [Var] -> [CoreBind] Source

thin returns a subset of the [CoreBind] given which correspond to those binders that depend on any of the Vars provided.

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.