interface Zippable : (Type -> Type) -> Type
The `Zippable` interface describes how you can combine and split the
elements in a parameterised type.
@ z the parameterised type
Parameters: z
Methods:
zipWith : (a -> b -> c) -> z a -> z b -> z c
Combine two parameterised types by applying a function.
@ z the parameterised type
@ func the function to combine elements with
zip : z a -> z b -> z (a, b)
Combine two parameterised types into a parameterised type of pairs.
@ z the parameterised type
Fixity Declaration: infixr operator, level 6 zipWith3 : (a -> b -> c -> d) -> z a -> z b -> z c -> z d
Combine three parameterised types by applying a function.
@ z the parameterised type
@ func the function to combine elements with
zip3 : z a -> z b -> z c -> z (a, (b, c))
Combine three parameterised types into a parameterised type of triplets.
@ z the parameterised type
unzipWith : (a -> (b, c)) -> z a -> (z b, z c)
Split a parameterised type by applying a function into a pair of
parameterised types.
@ z the parameterised type
@ func the function to split elements with
unzip : z (a, b) -> (z a, z b)
Split a parameterised type of pairs into a pair of parameterised types.
@ z the parameterised type
unzipWith3 : (a -> (b, (c, d))) -> z a -> (z b, (z c, z d))
Split a parameterised type by applying a function into a triplet of
parameterised types.
@ z the parameterised type
@ func the function to split elements with
unzip3 : z (a, (b, c)) -> (z a, (z b, z c))
Split a parameterised type of triplets into a triplet of parameterised
types.
@ z the parameterised type
Implementations:
Ord k => Zippable (SortedMap k)
Zippable Stream
Zippable Colist1
Zippable Colist
Zippable (Either a)
Semigroup a => Zippable (These a)
Zippable (Vect k)
Zippable List
Zippable List1
Semigroup a => Zippable (Pair a)
Zippable Maybe
Zippable SnocList
zipWith : Zippable z => (a -> b -> c) -> z a -> z b -> z c
Combine two parameterised types by applying a function.
@ z the parameterised type
@ func the function to combine elements with
Totality: total
Visibility: public exportzip : Zippable z => z a -> z b -> z (a, b)
Combine two parameterised types into a parameterised type of pairs.
@ z the parameterised type
Totality: total
Visibility: public export
Fixity Declaration: infixr operator, level 6zipWith3 : Zippable z => (a -> b -> c -> d) -> z a -> z b -> z c -> z d
Combine three parameterised types by applying a function.
@ z the parameterised type
@ func the function to combine elements with
Totality: total
Visibility: public exportzip3 : Zippable z => z a -> z b -> z c -> z (a, (b, c))
Combine three parameterised types into a parameterised type of triplets.
@ z the parameterised type
Totality: total
Visibility: public exportunzipWith : Zippable z => (a -> (b, c)) -> z a -> (z b, z c)
Split a parameterised type by applying a function into a pair of
parameterised types.
@ z the parameterised type
@ func the function to split elements with
Totality: total
Visibility: public exportunzip : Zippable z => z (a, b) -> (z a, z b)
Split a parameterised type of pairs into a pair of parameterised types.
@ z the parameterised type
Totality: total
Visibility: public exportunzipWith3 : Zippable z => (a -> (b, (c, d))) -> z a -> (z b, (z c, z d))
Split a parameterised type by applying a function into a triplet of
parameterised types.
@ z the parameterised type
@ func the function to split elements with
Totality: total
Visibility: public exportunzip3 : Zippable z => z (a, (b, c)) -> (z a, (z b, z c))
Split a parameterised type of triplets into a triplet of parameterised
types.
@ z the parameterised type
Totality: total
Visibility: public export