|
| Synthesizer.FusionList.Signal |
|
|
|
|
|
| Synopsis |
|
| newtype T y = Cons {} | | | generate :: (acc -> Maybe (y, acc)) -> acc -> T y | | | unfoldR :: (acc -> Maybe (y, acc)) -> acc -> T y | | | generateInfinite :: (acc -> (y, acc)) -> acc -> T y | | | fromList :: [y] -> T y | | | toList :: T y -> [y] | | | toStorableSignal :: Storable y => ChunkSize -> T y -> Vector y | | | fromStorableSignal :: Storable y => Vector y -> T y | | | iterate :: (a -> a) -> a -> T a | | | iterateAssociative :: (a -> a -> a) -> a -> T a | | | repeat :: a -> T a | | | crochetL :: (x -> acc -> Maybe (y, acc)) -> acc -> T x -> T y | | | scanL :: (acc -> x -> acc) -> acc -> T x -> T acc | | | scanLClip :: (acc -> x -> acc) -> acc -> T x -> T acc | | | map :: (a -> b) -> T a -> T b | | | unzip :: T (a, b) -> (T a, T b) | | | unzip3 :: T (a, b, c) -> (T a, T b, T c) | | | delay1 :: a -> T a -> T a | | | delay :: y -> Int -> T y -> T y | | | take :: Int -> T a -> T a | | | takeWhile :: (a -> Bool) -> T a -> T a | | | replicate :: Int -> a -> T a | | | zipWith :: (a -> b -> c) -> T a -> T b -> T c | | | zipWith3 :: (a -> b -> c -> d) -> T a -> T b -> T c -> T d | | | zipWith4 :: (a -> b -> c -> d -> e) -> T a -> T b -> T c -> T d -> T e | | | zip :: T a -> T b -> T (a, b) | | | zip3 :: T a -> T b -> T c -> T (a, b, c) | | | zip4 :: T a -> T b -> T c -> T d -> T (a, b, c, d) | | | reduceL :: (x -> acc -> Maybe acc) -> acc -> T x -> acc | | | foldL' :: (x -> acc -> acc) -> acc -> T x -> acc | | | foldL :: (acc -> x -> acc) -> acc -> T x -> acc | | | lengthSlow :: T a -> Int | | | zipWithGenerate :: (a -> b -> c) -> (acc -> Maybe (a, acc)) -> acc -> T b -> T c | | | zipWithCrochetL :: (a -> b -> c) -> (x -> acc -> Maybe (a, acc)) -> acc -> T x -> T b -> T c | | | mixGenerate :: C a => (a -> a -> a) -> (acc -> Maybe (a, acc)) -> acc -> T a -> T a | | | crochetLCons :: (a -> acc -> Maybe (b, acc)) -> acc -> a -> T a -> T b | | | reduceLCons :: (a -> acc -> Maybe acc) -> acc -> a -> T a -> acc | | | zipWithCons :: (a -> b -> c) -> a -> T a -> T b -> T c | | | null :: T a -> Bool | | | empty :: T a | | | singleton :: a -> T a | | | cons :: a -> T a -> T a | | | length :: T a -> Int | | | viewL :: T a -> Maybe (a, T a) | | | viewR :: T a -> Maybe (T a, a) | | | extendConstant :: T a -> T a | | | tail :: T a -> T a | | | head :: T a -> a | | | drop :: Int -> T a -> T a | | | dropMarginRem :: Int -> Int -> T a -> (Int, T a) | | | dropMargin :: Int -> Int -> T a -> T a | | | index :: Int -> T a -> a | | | splitAt :: Int -> T a -> (T a, T a) | | | dropWhile :: (a -> Bool) -> T a -> T a | | | span :: (a -> Bool) -> T a -> (T a, T a) | | | mapAccumL :: (acc -> x -> (acc, y)) -> acc -> T x -> (acc, T y) | | | mapAccumR :: (acc -> x -> (acc, y)) -> acc -> T x -> (acc, T y) | | | cycle :: T a -> T a | | | mix :: C a => T a -> T a -> T a | | | sub :: C a => T a -> T a -> T a | | | neg :: C a => T a -> T a | | | append :: T a -> T a -> T a | | | concat :: [T a] -> T a | | | reverse :: T a -> T a | | | sum :: C a => T a -> a | | | maximum :: Ord a => T a -> a | | | tails :: T y -> [T y] | | | init :: T y -> T y | | | sliceVert :: Int -> T y -> [T y] | | | zapWith :: (a -> a -> b) -> T a -> T b | | | modifyStatic :: Simple s ctrl a b -> ctrl -> T a -> T b | | | modifyModulated :: Simple s ctrl a b -> T ctrl -> T a -> T b | | | linearComb :: C t y => T t -> T y -> y | | | mapTails :: (T y0 -> y1) -> T y0 -> T y1 | | | zipWithTails :: (y0 -> T y1 -> y2) -> T y0 -> T y1 -> T y2 | | | zipWithRest :: (y0 -> y0 -> y1) -> T y0 -> T y0 -> (T y1, (Bool, T y0)) | | | zipWithAppend :: (y -> y -> y) -> T y -> T y -> T y | | | delayLoop :: (T y -> T y) -> T y -> T y | | | delayLoopOverlap :: C y => Int -> (T y -> T y) -> T y -> T y | | | recourse :: (acc -> Maybe acc) -> acc -> acc |
|
|
| Documentation |
|
|
| Constructors | | Instances | |
|
|
| functions based on generate
|
|
|
|
|
|
| generateInfinite :: (acc -> (y, acc)) -> acc -> T y | Source |
|
|
|
|
|
|
|
|
|
|
| iterate :: (a -> a) -> a -> T a | Source |
|
|
| iterateAssociative :: (a -> a -> a) -> a -> T a | Source |
|
|
|
|
| functions based on crochetL
|
|
| crochetL :: (x -> acc -> Maybe (y, acc)) -> acc -> T x -> T y | Source |
|
|
| scanL :: (acc -> x -> acc) -> acc -> T x -> T acc | Source |
|
|
| scanLClip :: (acc -> x -> acc) -> acc -> T x -> T acc | Source |
|
| input and output have equal length, that's better for fusion
|
|
|
|
|
|
|
|
|
| This is a fusion friendly implementation of delay.
However, in order to be a crochetL
the output has the same length as the input,
that is, the last element is removed - at least for finite input.
|
|
|
|
|
|
|
|
|
|
| functions consuming multiple lists
|
|
| zipWith :: (a -> b -> c) -> T a -> T b -> T c | Source |
|
|
| zipWith3 :: (a -> b -> c -> d) -> T a -> T b -> T c -> T d | Source |
|
|
| zipWith4 :: (a -> b -> c -> d -> e) -> T a -> T b -> T c -> T d -> T e | Source |
|
|
|
|
|
|
| zip4 :: T a -> T b -> T c -> T d -> T (a, b, c, d) | Source |
|
|
| functions based on reduceL
|
|
| reduceL :: (x -> acc -> Maybe acc) -> acc -> T x -> acc | Source |
|
|
| foldL' :: (x -> acc -> acc) -> acc -> T x -> acc | Source |
|
|
| foldL :: (acc -> x -> acc) -> acc -> T x -> acc | Source |
|
|
|
| can be used to check against native length implementation
|
|
| Fusion helpers
|
|
| zipWithGenerate :: (a -> b -> c) -> (acc -> Maybe (a, acc)) -> acc -> T b -> T c | Source |
|
|
| zipWithCrochetL :: (a -> b -> c) -> (x -> acc -> Maybe (a, acc)) -> acc -> T x -> T b -> T c | Source |
|
|
| mixGenerate :: C a => (a -> a -> a) -> (acc -> Maybe (a, acc)) -> acc -> T a -> T a | Source |
|
|
| crochetLCons :: (a -> acc -> Maybe (b, acc)) -> acc -> a -> T a -> T b | Source |
|
|
| reduceLCons :: (a -> acc -> Maybe acc) -> acc -> a -> T a -> acc | Source |
|
|
| zipWithCons :: (a -> b -> c) -> a -> T a -> T b -> T c | Source |
|
|
| Other functions
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| mapAccumL :: (acc -> x -> (acc, y)) -> acc -> T x -> (acc, T y) | Source |
|
|
| mapAccumR :: (acc -> x -> (acc, y)) -> acc -> T x -> (acc, T y) | Source |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| zapWith :: (a -> a -> b) -> T a -> T b | Source |
|
|
|
|
|
| Here the control may vary over the time.
|
|
|
|
| mapTails :: (T y0 -> y1) -> T y0 -> T y1 | Source |
|
|
| zipWithTails :: (y0 -> T y1 -> y2) -> T y0 -> T y1 -> T y2 | Source |
|
|
| zipWithRest :: (y0 -> y0 -> y1) -> T y0 -> T y0 -> (T y1, (Bool, T y0)) | Source |
|
|
| zipWithAppend :: (y -> y -> y) -> T y -> T y -> T y | Source |
|
|
|
| :: | | | => T y -> T y | processor that shall be run in a feedback loop
| | -> T y | prefix of the output, its length determines the delay
| | -> T y | |
|
|
|
| :: C y | | | => Int | | | -> T y -> T y | processor that shall be run in a feedback loop
| | -> T y | input
| | -> T y | output has the same length as the input
|
|
|
|
|
| Produced by Haddock version 2.4.2 |