CurryInfo: rewriting-3.0.0 / Rewriting.DefinitionalTree.loDefTrees

definition: Info
 
loDefTrees :: Eq f => [DefTree f] -> Term f -> Maybe (Pos, [DefTree f])
loDefTrees []        _ = Nothing
loDefTrees dts@(_:_) t = listToMaybe (loDefTrees' eps t)
  where
    loDefTrees' _ (TermVar _)       = []
    loDefTrees' p c@(TermCons _ ts)
      | hasDefTree dts c = [(p, selectDefTrees dts c)]
      | otherwise        = [lp | (p', t') <- zip [1..] ts,
                                 lp <- loDefTrees' (p .> [p']) t']
demand: Info
 argument 2
deterministic: Info
 deterministic operation
documentation: Info
 
Returns the position and the definitional trees from the given list of
definitional trees for the leftmost outermost defined constructor in a
term or `Nothing` if no such pair exists.
failfree: Info
 (_, _, _)
indeterministic: Info
 referentially transparent operation
infix: Info
 no fixity defined
iotype: Info
 {(_,{[]},_) |-> {Nothing} || (_,{:},_) |-> {Just,Nothing}}
name: Info
 loDefTrees
precedence: Info
 no precedence defined
result-values: Info
 {Just,Nothing}
signature: Info
 Prelude.Eq a => [DefTree a] -> Rewriting.Term.Term a
-> Prelude.Maybe ([Prelude.Int], [DefTree a])
solution-complete: Info
 operation might suspend on free variables
terminating: Info
 possibly non-terminating
totally-defined: Info
 possibly non-reducible on same data term