\begin{code}
module Listener (
	Remover,Listener,Occ(..),Listener'(..),
	mkL,mkL_,mkLOcc,getListener,getListener',
	liftL1,liftL2,liftLIO,isNeverL,
	arrayL,neverL,mergeL,allL,tellL,
        comapL,comapIOL,comapMaybeL,comapMaybeIOL,comapLs,
        afterTimeL,withTimeL,filterL,isJustL,fromListL,onceL,
	scanlL,accumL,distinctLWith,accumIOL,withElemL,withElemL_,
	wrapIOL,
	mapL,mapMaybeL,mapLs,mapIOL,mapMaybeIOL,fireListener,fireListener'
	
) where
import ListenerPrim
import ListenerOps
import FranTime
\end{code}

Deprecated - all the mapping functions on listeners are really comap but
             as they're very common, we include these deprecated versions
             with previous names.

\begin{code}
mapL = comapL
mapMaybeL = comapMaybeL
mapLs = comapLs
mapIOL = comapIOL
mapMaybeIOL = comapMaybeIOL

fireListener l = do
 op <- getListener l
 return $ \a -> do {t <- getTime;op (t,a)}

fireListener' l rm =  do
 op <- getListener' l rm
 return $ \a -> do {t <- getTime;op (t,a)}
\end{code}
