definition:
|
siblingCons :: Analysis [(QName,Int)]
siblingCons = simpleConstructorAnalysis "SiblingCons" consNamesArOfType
where
-- get all constructor names and arities of a datatype declaration
consNamesArOfType cdecl (Type _ _ _ consDecls) =
map (\cd -> (consName cd, consArity cd))
(filter (\cd -> consName cd /= consName cdecl) consDecls)
consNamesArOfType _ (TypeSyn _ _ _ _) = []
consNamesArOfType _ (TypeNew _ _ _ _) = []
|
demand:
|
no demanded arguments
|
deterministic:
|
deterministic operation
|
failfree:
|
()
|
indeterministic:
|
referentially transparent operation
|
infix:
|
no fixity defined
|
iotype:
|
{() |-> {SimpleConstructorAnalysis}}
|
name:
|
siblingCons
|
precedence:
|
no precedence defined
|
result-values:
|
{SimpleConstructorAnalysis}
|
signature:
|
Analysis.Types.Analysis [((String, String), Prelude.Int)]
|
solution-complete:
|
operation might suspend on free variables
|
terminating:
|
possibly non-terminating
|
totally-defined:
|
reducible on all ground data terms
|