definition:
|
checkTopLevelSig' :: [Decl a] -> [Decl a] -> CSM ()
checkTopLevelSig' [] _ = return ()
checkTopLevelSig' (decl:decls) allDecls =
case decl of
(FunctionDecl
(SpanInfo s _)
_ _ _) ->
do
pair <- checkPair decl allDecls
unless (pair)
( report (Message
s
( colorizeKey "type signature"
<+> text "missing")
( colorizeKey "top level functions"
<+> text "should have"
<+> colorizeKey "type signatures"
)
)
)
checkTopLevelSig' decls allDecls
_ ->
checkTopLevelSig' decls allDecls
|
demand:
|
argument 1
|
deterministic:
|
deterministic operation
|
documentation:
|
-- Checks for each declaration if they have a corresponding signature.
-- If it is not a declaration (typesig), ignore.
|
failfree:
|
<FAILING>
|
indeterministic:
|
referentially transparent operation
|
infix:
|
no fixity defined
|
iotype:
|
{({[]},_) |-> _ || ({:},_) |-> _}
|
name:
|
checkTopLevelSig'
|
precedence:
|
no precedence defined
|
result-values:
|
_
|
signature:
|
[Curry.Types.Decl a] -> [Curry.Types.Decl a]
-> Control.Monad.Trans.State.StateT Types.CheckState Data.Functor.Identity.Identity ()
|
solution-complete:
|
operation might suspend on free variables
|
terminating:
|
possibly non-terminating
|
totally-defined:
|
possibly non-reducible on same data term
|