TV-0.5.0: Tangible Values -- composable interfaces

PortabilityRank2Types
Stabilityexperimental
Maintainerconal@conal.net
Safe HaskellNone

Interface.TV.Tangible

Contents

Description

Tangible values -- interface (output) and value, combined & separable

Synopsis

Tangible values

type TV src snk = Output src snk :*: IdSource

Tangible values (TVs).

type TVFun src snk = OFun src snk ::*:: (->)Source

Arrow on TVs

tv :: Output src snk a -> a -> TV src snk aSource

Make a TV

unTv :: TV src snk a -> (Output src snk a, a)Source

Dissect a TV

type RunTV src snk = forall a. TV src snk a -> IO ()Source

Useful to define disambiguating type-specializations of runTV

runTV :: (Title_f snk, Title_f src, Lambda src snk, Pair snk, Pair src, ToOI snk) => RunTV src snkSource

Run a TV