| Safe Haskell | None |
|---|---|
| Language | GHC2021 |
Data.Queue.SWAG
Synopsis
- slidingWindowAggregationK :: Semigroup a => Int -> [a] -> [a]
- data Agg a = Agg {
- getAggAcc :: !a
- getAggItem :: !a
- data Queue a = Q [Agg a] [Agg a]
- emptyQ :: Queue a
- nullQ :: Queue a -> Bool
- singletonQ :: a -> Queue a
- unconsQ :: Semigroup a => Queue a -> Maybe (a, Queue a)
- snocQ :: Semigroup a => Queue a -> a -> Queue a
- (|>) :: Semigroup a => Queue a -> a -> Queue a
- consQ :: Semigroup a => a -> Queue a -> Queue a
- (<|) :: Semigroup a => a -> Queue a -> Queue a
- mconcatQ :: Monoid a => Queue a -> a
- sconcatQ :: Semigroup a => Queue a -> a
- fromListQ :: Semigroup a => [a] -> Queue a
Documentation
slidingWindowAggregationK :: Semigroup a => Int -> [a] -> [a] Source #
>>>slidingWindowAggregationK 3 $ map (:"")['a'..'e']["abc","bcd","cde"]>>>slidingWindowAggregationK 100 $ map (:"")['a'..'e'][]
Constructors
| Agg | |
Fields
| |
singletonQ :: a -> Queue a Source #
unconsQ :: Semigroup a => Queue a -> Maybe (a, Queue a) Source #
>>>unconsQ $ fromListQ ["a", "b", "c"]Just ("a",Q [Agg {getAggAcc = "bc", getAggItem = "b"},Agg {getAggAcc = "c", getAggItem = "c"}] [])>>>unconsQ $ emptyQ |> "a" |> "b" |> "c"Just ("a",Q [Agg {getAggAcc = "bc", getAggItem = "b"},Agg {getAggAcc = "c", getAggItem = "c"}] [])>>>unconsQ (emptyQ @String)Nothing
mconcatQ :: Monoid a => Queue a -> a Source #
>>>mconcatQ (("a" <| "b" <| emptyQ) |> "c" |> "d")"abcd">>>mconcatQ (emptyQ @String)""