data-effects-0.2.0.0: A basic framework for effect systems based on effects represented by GADTs.
Copyright(c) 2023 Sayo Koyoneda
LicenseMPL-2.0 (see the file LICENSE)
Maintainerymdfield@outlook.jp
Stabilityexperimental
Portabilityportable
Safe HaskellNone
LanguageGHC2021

Data.Effect.Input

Description

This module provides the Input effect, comes from Polysemy.Input in the polysemy package.

Documentation

data Input i a where Source #

Constructors

Input :: forall i. Input i i 

type LInput i = LiftFOE (Input i) Source #

pattern LInput :: forall a i f. () => (a ~ i, ()) => LiftFOE (Input i) f a Source #

input :: SendFOE (Input i) f => f i Source #

input' :: forall {k} (tag :: k) i f. SendFOE (Tag (Input i) tag) f => f i Source #

input'' :: forall {k} (key :: k) i f. SendFOEBy key (Input i) f => f i Source #

inputs :: (Input i <: f, Functor f) => (i -> a) -> f a Source #