yesod-dsl-0.1.1: Validation.hs
module Validation (validate) where
import AST
import Data.List
import Validation.Names
import Validation.Refs
import Validation.Fields
import Validation.Handlers
import Data.Maybe
validate :: Module -> String
validate m = nameErrors ns ++ refErrors ns (refs m) ++ fieldErrors m ns
++ handlerErrors m
++ missingModuleName
where ns = names m
missingModuleName
| isNothing $ modName m = "Top-level module missing name"
| otherwise = ""