Safe Haskell | Safe-Inferred |
---|
- class C y where
- numberOfChannels :: y -> Int
- sizeOfElement :: y -> Int
- numberOfChannelsFoldable :: (C y, Foldable f) => f y -> Int
- sizeOfElementFoldable :: (C y, Foldable f) => f y -> Int
- sizeOfElementType :: C y => f y -> Int
- paddedSizeOf :: Storable a => a -> Int
- withSignal :: (y -> a) -> sig y -> a
Documentation
This is a class for nested tuples used as sample frames.
Should we make Storable a superclass of C
?
numberOfChannels :: y -> IntSource
The argument is not touched and can be undefined
sizeOfElement :: y -> IntSource
Size of elements.
In a nested record type, like Stereo (Stereo a)
,
it is the size of the atomic element, in our example a
.
We assume that the atomic element values all have the same size,
such that sizeOfElement undefined
is defined.
numberOfChannelsFoldable :: (C y, Foldable f) => f y -> IntSource
Default implementations for a foldable Frame.
sizeOfElementFoldable :: (C y, Foldable f) => f y -> IntSource
sizeOfElementType :: C y => f y -> IntSource
Returns the size of an undefined element.
This might be more efficient than sizeOfElementFoldable
.
paddedSizeOf :: Storable a => a -> IntSource
Space that an element consumes in a Storable Array. This is space for the element plus padding.
withSignal :: (y -> a) -> sig y -> aSource