galley-0.83.0: Conversations
Safe HaskellSafe-Inferred
LanguageGHC2021

Galley.Effects

Synopsis

Effects needed in Galley

Effects to access the Intra API

data BotAccess m a Source #

External services

Fire-and-forget async

Store effects

data CodeStore m a Source #

data Random (m :: k) a Source #

data TeamStore m a Source #

Paging effects

data ListItems p i m a Source #

General pagination-aware list-by-user effect

Other effects

data Queue a m x Source #

Polysemy re-exports

class Member (t :: Effect) (r :: EffectRow) Source #

This class indicates that an effect must be present in the caller's stack. It is the main mechanism by which a program defines its effect dependencies.

Minimal complete definition

membership'

Instances

Instances details
Member t z => Member t (_1 ': z) 
Instance details

Defined in Polysemy.Internal.Union

Methods

membership' :: ElemOf t (_1 ': z)

Member t (t ': z) 
Instance details

Defined in Polysemy.Internal.Union

Methods

membership' :: ElemOf t (t ': z)

type family Members (es :: [Effect]) (r :: EffectRow) where ... Source #

Makes constraints of functions that use multiple effects shorter by translating single list of effects into multiple Member constraints:

foo :: Members '[ Output Int
                , Output Bool
                , State String
                ] r
    => Sem r ()

translates into:

foo :: ( Member (Output Int) r
       , Member (Output Bool) r
       , Member (State String) r
       )
    => Sem r ()

Since: polysemy-0.1.2.0

Equations

Members ('[] :: [Effect]) r = () 
Members (e ': es) r = (Member e r, Members es r) 

Queueing effects