CurryInfo: stylechecker-2.0.0 / Check.AST.TopLevel.BlankLines.checkBlankLines'

definition:
checkBlankLines' :: SpanInfo -> [Decl a] -> CSM ()
checkBlankLines' _ []                   = return ()
checkBlankLines' _ (_:[])               = return ()
checkBlankLines' sI (decl1:decl2:decls) =
  case decl1 of
    (TypeSig _ _ _)     -> checkBlankLines' sI (decl2:decls)
    (InfixDecl _ _ _ _) -> case decl2 of
                             (InfixDecl _ _ _ _) ->  checkBlankLines' sI (decl2:decls)
                             _                   ->  do blankLine decl1 decl2
                                                        checkBlankLines' sI (decl2:decls)
    _                   -> do blankLine decl1 decl2
                              checkBlankLines' sI (decl2:decls)
demand:
argument 2
deterministic:
deterministic operation
documentation:
-- Checks if there is at least one blank line between top level declarations.
-- If it's a type signature, there is no need to check. Otherwise the check
-- is applied.
failfree:
<FAILING>
indeterministic:
referentially transparent operation
infix:
no fixity defined
iotype:
{(_,{[]}) |-> _ || (_,{:}) |-> _}
name:
checkBlankLines'
precedence:
no precedence defined
result-values:
_
signature:
Curry.SpanInfo.SpanInfo -> [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