1-- | This module defines the 'EventWriter' class.
3{-# LANGUAGE FlexibleInstances #-}
4{-# LANGUAGE FunctionalDependencies #-}
5{-# LANGUAGE MultiParamTypeClasses #-}
6{-# LANGUAGE UndecidableInstances #-}
7#ifdef USE_REFLEX_OPTIMIZER
8{-# OPTIONS_GHC -fplugin=Reflex.Optimizer #-}
10module Reflex.EventWriter.Class
14import Control.Monad.Reader (ReaderT, lift)
15import Data.Semigroup (Semigroup)
17import Reflex.Class (Event)
20-- | 'EventWriter' efficiently collects 'Event' values using 'tellEvent'
21-- and combines them via 'Semigroup' to provide an 'Event' result.
22class (Monad m, Semigroup w) => EventWriter t w m | m -> t w where
23 tellEvent :: Event t w -> m ()
26instance EventWriter t w m => EventWriter t w (ReaderT r m) where
27 tellEvent = lift . tellEvent
keysesc to close
- j k
- move down, up
- enter
- open
- esc
- back, or up a level
- 1 2 3 4
- readme, files, commits, refs
- /
- filter
- y
- copy the clone command
- c
- compare the chosen commit with another (or shift-click both)
- ?
- show or hide this list