| Copyright | (c) 2023 Sayo Koyoneda |
|---|---|
| License | MPL-2.0 (see the file LICENSE) |
| Maintainer | ymdfield@outlook.jp |
| Safe Haskell | None |
| Language | GHC2021 |
Data.Effect.Input
Description
This module provides the Input effect, comes
from Polysemy.Input
in the polysemy package.
Realizes input of values from the external world.
Synopsis
- data Input i a where
- type LInput i = LiftFOE (Input i)
- pattern LInput :: forall a i f. () => (a ~ i, ()) => LiftFOE (Input i) f a
- input :: SendFOE (Input i) f => f i
- input' :: forall {k} (tag :: k) i f. SendFOE (Tag (Input i) tag) f => f i
- input'' :: forall {k} (key :: k) i f. SendFOEBy key (Input i) f => f i
- inputs :: (Input i <: f, Functor f) => (i -> a) -> f a
Documentation
A general effect representing input of values from the external world.
input' :: forall {k} (tag :: k) i f. SendFOE (Tag (Input i) tag) f => f i Source #
Retrieve a value input from the external world.