CurryInfo: base-3.3.0 / Prelude.zipWith3

definition:
zipWith3 :: (a -> b -> c -> d) -> [a] -> [b] -> [c] -> [d]
zipWith3 _ []     _      _      = []
zipWith3 _ (_:_)  []     _      = []
zipWith3 _ (_:_)  (_:_)  []     = []
zipWith3 f (x:xs) (y:ys) (z:zs) = f x y z : zipWith3 f xs ys zs
demand:
argument 2
deterministic:
deterministic operation
documentation:
--- Joins three lists into one list by applying a combination function to
--- corresponding triples of elements. Thus `zip3 = zipWith3 (,,)`
failfree:
(_, _, _, _)
indeterministic:
referentially transparent operation
infix:
no fixity defined
iotype:
{(_,{[]},_,_) |-> {[]} || (_,{:},{[]},_) |-> {[]} || (_,{:},{:},{[]}) |-> {[]} || (_,{:},{:},{:}) |-> {:}}
name:
zipWith3
precedence:
no precedence defined
result-values:
{:,[]}
signature:
(a -> b -> c -> d) -> [a] -> [b] -> [c] -> [d]
solution-complete:
operation might suspend on free variables
terminating:
yes
totally-defined:
reducible on all ground data terms