AP
Size: a a a
AP
AP
JS
JS
JS
type family EnvQueue a where
EnvQueue Action1 = "action1"
EnvQueue Action2 = "action2"
send ::
forall a r m.
(MonadIO m, HasField (EnvQueue a) r (TQueue a), MonadReader r m) => a -> m ()
send a = do
chan <- asks (getField @(EnvQueue a))
liftIO $ atomically $ writeTQueue chan a
JS
AP
AP
JS
AP
AP
AP
AP
JS
send ::
forall a r m. (MonadIO m, HasType (TQueue a) r, MonadReader r m) => a -> m ()
send a = do
chan <- asks $ getTyped @(TQueue a)
liftIO $ atomically $ writeTQueue chan a
JS
AP
AP
AP
МВ
МВ
type SyntaxTree = Tree HLElement