1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
module Check where
import Types
import Check.Src (checkSrc)
import Check.AST (checkAST)
import Pretty.ToString (renderMessagesToString)
import Curry.Types
import State
import Sort (quickSort)
checkAll :: [SrcLine] -> Module () -> Config -> String -> (Config -> String -> [SrcLine] -> [Message] -> a) -> a
checkAll src ast conf name f =
f conf name src $ quickSort $ messages $ execState (checking src ast) (CheckState name conf [])
where
checking :: [SrcLine] -> Module () -> CSM ()
checking src ast = do checkSrc src
checkAST ast
|