sdp-0.2: Simple Data Processing
Copyright(c) Andrey Mulik 2019
LicenseBSD-style
Maintainerwork.a.mulik@gmail.com
Portabilityportable
Safe HaskellSafe
LanguageHaskell2010

SDP.Zip

Description

SDP.Zip provides Zip - class of 'Control.Applicative.ZipList"-like structures.

Synopsis
  • class Functor z => Zip z where
    • zap :: z (a -> b) -> z a -> z b
    • all2 :: (a -> b -> Bool) -> z a -> z b -> Bool
    • all3 :: (a -> b -> c -> Bool) -> z a -> z b -> z c -> Bool
    • all4 :: (a -> b -> c -> d -> Bool) -> z a -> z b -> z c -> z d -> Bool
    • all5 :: (a -> b -> c -> d -> e -> Bool) -> z a -> z b -> z c -> z d -> z e -> Bool
    • all6 :: (a -> b -> c -> d -> e -> f -> Bool) -> z a -> z b -> z c -> z d -> z e -> z f -> Bool
    • any2 :: (a -> b -> Bool) -> z a -> z b -> Bool
    • any3 :: (a -> b -> c -> Bool) -> z a -> z b -> z c -> Bool
    • any4 :: (a -> b -> c -> d -> Bool) -> z a -> z b -> z c -> z d -> Bool
    • any5 :: (a -> b -> c -> d -> e -> Bool) -> z a -> z b -> z c -> z d -> z e -> Bool
    • any6 :: (a -> b -> c -> d -> e -> f -> Bool) -> z a -> z b -> z c -> z d -> z e -> z f -> Bool
    • zip :: z a -> z b -> z (a, b)
    • zip3 :: z a -> z b -> z c -> z (a, b, c)
    • zip4 :: z a -> z b -> z c -> z d -> z (a, b, c, d)
    • zip5 :: z a -> z b -> z c -> z d -> z e -> z (a, b, c, d, e)
    • zip6 :: z a -> z b -> z c -> z d -> z e -> z f -> z (a, b, c, d, e, f)
    • zipWith :: (a -> b -> c) -> z a -> z b -> z c
    • zipWith3 :: (a -> b -> c -> d) -> z a -> z b -> z c -> z d
    • zipWith4 :: (a -> b -> c -> d -> e) -> z a -> z b -> z c -> z d -> z e
    • zipWith5 :: (a -> b -> c -> d -> e -> f) -> z a -> z b -> z c -> z d -> z e -> z f
    • zipWith6 :: (a -> b -> c -> d -> e -> f -> g) -> z a -> z b -> z c -> z d -> z e -> z f -> z g

Documentation

class Functor z => Zip z where Source #

Zip is generalization of ZipList applicative semantics (but without pure).

Minimal complete definition

(zap | zipWith), all2, any2

Methods

zap :: z (a -> b) -> z a -> z b Source #

ZipList-like <*>

all2 :: (a -> b -> Bool) -> z a -> z b -> Bool Source #

all3 :: (a -> b -> c -> Bool) -> z a -> z b -> z c -> Bool Source #

all4 :: (a -> b -> c -> d -> Bool) -> z a -> z b -> z c -> z d -> Bool Source #

all5 :: (a -> b -> c -> d -> e -> Bool) -> z a -> z b -> z c -> z d -> z e -> Bool Source #

all6 :: (a -> b -> c -> d -> e -> f -> Bool) -> z a -> z b -> z c -> z d -> z e -> z f -> Bool Source #

any2 :: (a -> b -> Bool) -> z a -> z b -> Bool Source #

any3 :: (a -> b -> c -> Bool) -> z a -> z b -> z c -> Bool Source #

any4 :: (a -> b -> c -> d -> Bool) -> z a -> z b -> z c -> z d -> Bool Source #

any5 :: (a -> b -> c -> d -> e -> Bool) -> z a -> z b -> z c -> z d -> z e -> Bool Source #

any6 :: (a -> b -> c -> d -> e -> f -> Bool) -> z a -> z b -> z c -> z d -> z e -> z f -> Bool Source #

zip :: z a -> z b -> z (a, b) Source #

zip3 :: z a -> z b -> z c -> z (a, b, c) Source #

zip4 :: z a -> z b -> z c -> z d -> z (a, b, c, d) Source #

zip5 :: z a -> z b -> z c -> z d -> z e -> z (a, b, c, d, e) Source #

zip6 :: z a -> z b -> z c -> z d -> z e -> z f -> z (a, b, c, d, e, f) Source #

zipWith :: (a -> b -> c) -> z a -> z b -> z c Source #

zipWith3 :: (a -> b -> c -> d) -> z a -> z b -> z c -> z d Source #

zipWith4 :: (a -> b -> c -> d -> e) -> z a -> z b -> z c -> z d -> z e Source #

zipWith5 :: (a -> b -> c -> d -> e -> f) -> z a -> z b -> z c -> z d -> z e -> z f Source #

zipWith6 :: (a -> b -> c -> d -> e -> f -> g) -> z a -> z b -> z c -> z d -> z e -> z f -> z g Source #

Instances

Instances details
Zip [] Source # 
Instance details

Defined in SDP.Zip

Methods

zap :: [a -> b] -> [a] -> [b] Source #

all2 :: (a -> b -> Bool) -> [a] -> [b] -> Bool Source #

all3 :: (a -> b -> c -> Bool) -> [a] -> [b] -> [c] -> Bool Source #

all4 :: (a -> b -> c -> d -> Bool) -> [a] -> [b] -> [c] -> [d] -> Bool Source #

all5 :: (a -> b -> c -> d -> e -> Bool) -> [a] -> [b] -> [c] -> [d] -> [e] -> Bool Source #

all6 :: (a -> b -> c -> d -> e -> f -> Bool) -> [a] -> [b] -> [c] -> [d] -> [e] -> [f] -> Bool Source #

any2 :: (a -> b -> Bool) -> [a] -> [b] -> Bool Source #

any3 :: (a -> b -> c -> Bool) -> [a] -> [b] -> [c] -> Bool Source #

any4 :: (a -> b -> c -> d -> Bool) -> [a] -> [b] -> [c] -> [d] -> Bool Source #

any5 :: (a -> b -> c -> d -> e -> Bool) -> [a] -> [b] -> [c] -> [d] -> [e] -> Bool Source #

any6 :: (a -> b -> c -> d -> e -> f -> Bool) -> [a] -> [b] -> [c] -> [d] -> [e] -> [f] -> Bool Source #

zip :: [a] -> [b] -> [(a, b)] Source #

zip3 :: [a] -> [b] -> [c] -> [(a, b, c)] Source #

zip4 :: [a] -> [b] -> [c] -> [d] -> [(a, b, c, d)] Source #

zip5 :: [a] -> [b] -> [c] -> [d] -> [e] -> [(a, b, c, d, e)] Source #

zip6 :: [a] -> [b] -> [c] -> [d] -> [e] -> [f] -> [(a, b, c, d, e, f)] Source #

zipWith :: (a -> b -> c) -> [a] -> [b] -> [c] Source #

zipWith3 :: (a -> b -> c -> d) -> [a] -> [b] -> [c] -> [d] Source #

zipWith4 :: (a -> b -> c -> d -> e) -> [a] -> [b] -> [c] -> [d] -> [e] Source #

zipWith5 :: (a -> b -> c -> d -> e -> f) -> [a] -> [b] -> [c] -> [d] -> [e] -> [f] Source #

zipWith6 :: (a -> b -> c -> d -> e -> f -> g) -> [a] -> [b] -> [c] -> [d] -> [e] -> [f] -> [g] Source #

Zip SArray# Source # 
Instance details

Defined in SDP.Prim.SArray

Methods

zap :: SArray# (a -> b) -> SArray# a -> SArray# b Source #

all2 :: (a -> b -> Bool) -> SArray# a -> SArray# b -> Bool Source #

all3 :: (a -> b -> c -> Bool) -> SArray# a -> SArray# b -> SArray# c -> Bool Source #

all4 :: (a -> b -> c -> d -> Bool) -> SArray# a -> SArray# b -> SArray# c -> SArray# d -> Bool Source #

all5 :: (a -> b -> c -> d -> e -> Bool) -> SArray# a -> SArray# b -> SArray# c -> SArray# d -> SArray# e -> Bool Source #

all6 :: (a -> b -> c -> d -> e -> f -> Bool) -> SArray# a -> SArray# b -> SArray# c -> SArray# d -> SArray# e -> SArray# f -> Bool Source #

any2 :: (a -> b -> Bool) -> SArray# a -> SArray# b -> Bool Source #

any3 :: (a -> b -> c -> Bool) -> SArray# a -> SArray# b -> SArray# c -> Bool Source #

any4 :: (a -> b -> c -> d -> Bool) -> SArray# a -> SArray# b -> SArray# c -> SArray# d -> Bool Source #

any5 :: (a -> b -> c -> d -> e -> Bool) -> SArray# a -> SArray# b -> SArray# c -> SArray# d -> SArray# e -> Bool Source #

any6 :: (a -> b -> c -> d -> e -> f -> Bool) -> SArray# a -> SArray# b -> SArray# c -> SArray# d -> SArray# e -> SArray# f -> Bool Source #

zip :: SArray# a -> SArray# b -> SArray# (a, b) Source #

zip3 :: SArray# a -> SArray# b -> SArray# c -> SArray# (a, b, c) Source #

zip4 :: SArray# a -> SArray# b -> SArray# c -> SArray# d -> SArray# (a, b, c, d) Source #

zip5 :: SArray# a -> SArray# b -> SArray# c -> SArray# d -> SArray# e -> SArray# (a, b, c, d, e) Source #

zip6 :: SArray# a -> SArray# b -> SArray# c -> SArray# d -> SArray# e -> SArray# f -> SArray# (a, b, c, d, e, f) Source #

zipWith :: (a -> b -> c) -> SArray# a -> SArray# b -> SArray# c Source #

zipWith3 :: (a -> b -> c -> d) -> SArray# a -> SArray# b -> SArray# c -> SArray# d Source #

zipWith4 :: (a -> b -> c -> d -> e) -> SArray# a -> SArray# b -> SArray# c -> SArray# d -> SArray# e Source #

zipWith5 :: (a -> b -> c -> d -> e -> f) -> SArray# a -> SArray# b -> SArray# c -> SArray# d -> SArray# e -> SArray# f Source #

zipWith6 :: (a -> b -> c -> d -> e -> f -> g) -> SArray# a -> SArray# b -> SArray# c -> SArray# d -> SArray# e -> SArray# f -> SArray# g Source #

Zip Unlist Source # 
Instance details

Defined in SDP.Unrolled.Unlist

Methods

zap :: Unlist (a -> b) -> Unlist a -> Unlist b Source #

all2 :: (a -> b -> Bool) -> Unlist a -> Unlist b -> Bool Source #

all3 :: (a -> b -> c -> Bool) -> Unlist a -> Unlist b -> Unlist c -> Bool Source #

all4 :: (a -> b -> c -> d -> Bool) -> Unlist a -> Unlist b -> Unlist c -> Unlist d -> Bool Source #

all5 :: (a -> b -> c -> d -> e -> Bool) -> Unlist a -> Unlist b -> Unlist c -> Unlist d -> Unlist e -> Bool Source #

all6 :: (a -> b -> c -> d -> e -> f -> Bool) -> Unlist a -> Unlist b -> Unlist c -> Unlist d -> Unlist e -> Unlist f -> Bool Source #

any2 :: (a -> b -> Bool) -> Unlist a -> Unlist b -> Bool Source #

any3 :: (a -> b -> c -> Bool) -> Unlist a -> Unlist b -> Unlist c -> Bool Source #

any4 :: (a -> b -> c -> d -> Bool) -> Unlist a -> Unlist b -> Unlist c -> Unlist d -> Bool Source #

any5 :: (a -> b -> c -> d -> e -> Bool) -> Unlist a -> Unlist b -> Unlist c -> Unlist d -> Unlist e -> Bool Source #

any6 :: (a -> b -> c -> d -> e -> f -> Bool) -> Unlist a -> Unlist b -> Unlist c -> Unlist d -> Unlist e -> Unlist f -> Bool Source #

zip :: Unlist a -> Unlist b -> Unlist (a, b) Source #

zip3 :: Unlist a -> Unlist b -> Unlist c -> Unlist (a, b, c) Source #

zip4 :: Unlist a -> Unlist b -> Unlist c -> Unlist d -> Unlist (a, b, c, d) Source #

zip5 :: Unlist a -> Unlist b -> Unlist c -> Unlist d -> Unlist e -> Unlist (a, b, c, d, e) Source #

zip6 :: Unlist a -> Unlist b -> Unlist c -> Unlist d -> Unlist e -> Unlist f -> Unlist (a, b, c, d, e, f) Source #

zipWith :: (a -> b -> c) -> Unlist a -> Unlist b -> Unlist c Source #

zipWith3 :: (a -> b -> c -> d) -> Unlist a -> Unlist b -> Unlist c -> Unlist d Source #

zipWith4 :: (a -> b -> c -> d -> e) -> Unlist a -> Unlist b -> Unlist c -> Unlist d -> Unlist e Source #

zipWith5 :: (a -> b -> c -> d -> e -> f) -> Unlist a -> Unlist b -> Unlist c -> Unlist d -> Unlist e -> Unlist f Source #

zipWith6 :: (a -> b -> c -> d -> e -> f -> g) -> Unlist a -> Unlist b -> Unlist c -> Unlist d -> Unlist e -> Unlist f -> Unlist g Source #

(Index i, Zip rep) => Zip (AnyBorder rep i) Source # 
Instance details

Defined in SDP.Templates.AnyBorder

Methods

zap :: AnyBorder rep i (a -> b) -> AnyBorder rep i a -> AnyBorder rep i b Source #

all2 :: (a -> b -> Bool) -> AnyBorder rep i a -> AnyBorder rep i b -> Bool Source #

all3 :: (a -> b -> c -> Bool) -> AnyBorder rep i a -> AnyBorder rep i b -> AnyBorder rep i c -> Bool Source #

all4 :: (a -> b -> c -> d -> Bool) -> AnyBorder rep i a -> AnyBorder rep i b -> AnyBorder rep i c -> AnyBorder rep i d -> Bool Source #

all5 :: (a -> b -> c -> d -> e -> Bool) -> AnyBorder rep i a -> AnyBorder rep i b -> AnyBorder rep i c -> AnyBorder rep i d -> AnyBorder rep i e -> Bool Source #

all6 :: (a -> b -> c -> d -> e -> f -> Bool) -> AnyBorder rep i a -> AnyBorder rep i b -> AnyBorder rep i c -> AnyBorder rep i d -> AnyBorder rep i e -> AnyBorder rep i f -> Bool Source #

any2 :: (a -> b -> Bool) -> AnyBorder rep i a -> AnyBorder rep i b -> Bool Source #

any3 :: (a -> b -> c -> Bool) -> AnyBorder rep i a -> AnyBorder rep i b -> AnyBorder rep i c -> Bool Source #

any4 :: (a -> b -> c -> d -> Bool) -> AnyBorder rep i a -> AnyBorder rep i b -> AnyBorder rep i c -> AnyBorder rep i d -> Bool Source #

any5 :: (a -> b -> c -> d -> e -> Bool) -> AnyBorder rep i a -> AnyBorder rep i b -> AnyBorder rep i c -> AnyBorder rep i d -> AnyBorder rep i e -> Bool Source #

any6 :: (a -> b -> c -> d -> e -> f -> Bool) -> AnyBorder rep i a -> AnyBorder rep i b -> AnyBorder rep i c -> AnyBorder rep i d -> AnyBorder rep i e -> AnyBorder rep i f -> Bool Source #

zip :: AnyBorder rep i a -> AnyBorder rep i b -> AnyBorder rep i (a, b) Source #

zip3 :: AnyBorder rep i a -> AnyBorder rep i b -> AnyBorder rep i c -> AnyBorder rep i (a, b, c) Source #

zip4 :: AnyBorder rep i a -> AnyBorder rep i b -> AnyBorder rep i c -> AnyBorder rep i d -> AnyBorder rep i (a, b, c, d) Source #

zip5 :: AnyBorder rep i a -> AnyBorder rep i b -> AnyBorder rep i c -> AnyBorder rep i d -> AnyBorder rep i e -> AnyBorder rep i (a, b, c, d, e) Source #

zip6 :: AnyBorder rep i a -> AnyBorder rep i b -> AnyBorder rep i c -> AnyBorder rep i d -> AnyBorder rep i e -> AnyBorder rep i f -> AnyBorder rep i (a, b, c, d, e, f) Source #

zipWith :: (a -> b -> c) -> AnyBorder rep i a -> AnyBorder rep i b -> AnyBorder rep i c Source #

zipWith3 :: (a -> b -> c -> d) -> AnyBorder rep i a -> AnyBorder rep i b -> AnyBorder rep i c -> AnyBorder rep i d Source #

zipWith4 :: (a -> b -> c -> d -> e) -> AnyBorder rep i a -> AnyBorder rep i b -> AnyBorder rep i c -> AnyBorder rep i d -> AnyBorder rep i e Source #

zipWith5 :: (a -> b -> c -> d -> e -> f) -> AnyBorder rep i a -> AnyBorder rep i b -> AnyBorder rep i c -> AnyBorder rep i d -> AnyBorder rep i e -> AnyBorder rep i f Source #

zipWith6 :: (a -> b -> c -> d -> e -> f -> g) -> AnyBorder rep i a -> AnyBorder rep i b -> AnyBorder rep i c -> AnyBorder rep i d -> AnyBorder rep i e -> AnyBorder rep i f -> AnyBorder rep i g Source #