definition: |
genFuncPropComments :: AnaInfo -> QName -> [CRule] -> [COpDecl] -> [[BaseHtml]] genFuncPropComments anainfo fname rules ops = filter (not . null) [genFixityInfo fname ops, completenessInfo, indeterminismInfo, opcompleteInfo, externalInfo rules] where -- comment about the definitional completeness of a function: completenessInfo = let ci = getCompleteInfo anainfo fname in if ci == Complete then [] else [htxt (if ci == InComplete then "partially defined" else "partially defined in each disjunction (but might be complete)")] -- comment about the indeterminism of a function: indeterminismInfo = if getIndetInfo anainfo fname then [htxt "might behave indeterministically"] else [] -- comment about the indeterminism of a function: opcompleteInfo = if getOpCompleteInfo anainfo fname then [htxt "solution complete, i.e., able to compute all solutions"] else [] -- comment about the external definition of a function: externalInfo [] = [htxt "externally defined"] externalInfo (_:_) = [] |
demand: |
no demanded arguments |
deterministic: |
deterministic operation |
documentation: |
-------------------------------------------------------------------------- --- Generates further textual infos about particular properties --- of a function. The result is a list of HTML expressions to be --- formatted (if not empty) as some HTML list. |
indeterministic: |
referentially transparent operation |
infix: |
no fixity defined |
iotype: |
{(_,_,_,_) |-> {:,[]}} |
name: |
genFuncPropComments |
precedence: |
no precedence defined |
result-values: |
{:,[]} |
signature: |
CurryDoc.AnaInfo.AnaInfo -> (String, String) -> [AbstractCurry.Types.CRule] -> [AbstractCurry.Types.COpDecl] -> [[HTML.Base.BaseHtml]] |
solution-complete: |
operation might suspend on free variables |
terminating: |
possibly non-terminating |
totally-defined: |
possibly non-reducible on same data term |