---------------------------------------------------------------- -- -- | StaticAnalysis -- -- @StaticAnalysis\/Annotated.hs@ -- -- Interface for abstract syntax data structures in which -- every node can be annotated with a data structure that -- represents static analysis results. -- ---------------------------------------------------------------- -- {-# LANGUAGE MultiParamTypeClasses #-} module StaticAnalysis.Analyze where import StaticAnalysis.Analysis (Analysis(..)) import StaticAnalysis.Annotate (Annotate(..)) ---------------------------------------------------------------- -- | Interface for abstract syntax data structures that can be -- analyzed. class (Annotate d, Analysis a) => Analyze d a where -- The function for applying the algorithm to a data structure -- of type d a. analyze :: d a -> d a --eof