Safe Haskell | None |
---|---|
Language | Haskell98 |
- class C set where
- changeExt :: (Ord key, C set) => BoundaryExt key value -> State (set key value) [Boundary key value]
- class Map set where
- newtype Pressed key value = Pressed {
- deconsPressed :: Map key value
- pressed :: Pressed key value
- newtype Latch key value = Latch {
- deconsLatch :: Map key value
- latch :: Latch key value
- latchChange :: Ord key => Boundary key value -> State (Latch key value) (Maybe (Boundary key value))
- data GroupLatch key value = GroupLatch {
- groupLatchPressed_ :: Set key
- groupLatchPlayed_ :: Map key value
- groupLatch :: GroupLatch key value
- groupLatchPressed :: T (GroupLatch key value) (Set key)
- groupLatchPlayed :: T (GroupLatch key value) (Map key value)
- data SerialLatch key value = SerialLatch {
- serialLatchSize_ :: Int
- serialLatchCursor_ :: Int
- serialLatchPlayed_ :: Map Int (key, value)
- serialLatch :: Int -> SerialLatch key value
- serialLatchCursor :: T (SerialLatch key value) Int
- serialLatchPlayed :: T (SerialLatch key value) (Map Int (key, value))
- sizeGen :: Map set => set key value -> Int
- toListGen :: Map set => set key value -> [(key, value)]
- indexGen :: (Ord key, Map set) => Int -> set key value -> Maybe (key, value)
- releasePlayedKeys :: Map set => State (set key value) [Boundary key value]
- releaseSomeKeys :: (Ord key, Map set) => (key -> Bool) -> State (set key value) [Boundary key value]
- releaseKey :: key -> value -> Boundary key value
Documentation
reset :: State (set key value) [Boundary key value] Source #
resetSome :: Ord key => (key -> Bool) -> State (set key value) [Boundary key value] Source #
It must hold reset == resetSome (const True)
.
size :: set key value -> Int Source #
toList :: set key value -> [(key, value)] Source #
index :: Ord key => Int -> set key value -> Maybe (key, value) Source #
change :: Ord key => Boundary key value -> State (set key value) [Boundary key value] Source #
C SerialLatch Source # | A key is hold until |
C GroupLatch Source # | All pressed keys are latched until a key is pressed after a pause
(i.e. all keys released).
For aborting the pattern you have to send
a |
C Latch Source # | |
C Pressed Source # | |
changeExt :: (Ord key, C set) => BoundaryExt key value -> State (set key value) [Boundary key value] Source #
latchChange :: Ord key => Boundary key value -> State (Latch key value) (Maybe (Boundary key value)) Source #
data GroupLatch key value Source #
GroupLatch | |
|
Map GroupLatch Source # | |
C GroupLatch Source # | All pressed keys are latched until a key is pressed after a pause
(i.e. all keys released).
For aborting the pattern you have to send
a |
(Show value, Show key) => Show (GroupLatch key value) Source # | |
groupLatch :: GroupLatch key value Source #
groupLatchPressed :: T (GroupLatch key value) (Set key) Source #
groupLatchPlayed :: T (GroupLatch key value) (Map key value) Source #
data SerialLatch key value Source #
SerialLatch | |
|
C SerialLatch Source # | A key is hold until |
(Show value, Show key) => Show (SerialLatch key value) Source # | |
serialLatch :: Int -> SerialLatch key value Source #
serialLatchCursor :: T (SerialLatch key value) Int Source #
serialLatchPlayed :: T (SerialLatch key value) (Map Int (key, value)) Source #
releaseSomeKeys :: (Ord key, Map set) => (key -> Bool) -> State (set key value) [Boundary key value] Source #
releaseKey :: key -> value -> Boundary key value Source #