arrow-effects-extensions / arrow.effects.extensions / ResourceSemigroup

ResourceSemigroup

@extension interface ResourceSemigroup<F, E, A> : Semigroup<Resource<F, E, A>>

Functions

BR abstract fun BR(): Bracket<F, E>
combine open fun Resource<F, E, A>.combine(b: Resource<F, E, A>): Resource<F, E, A>
SR abstract fun SR(): Semigroup<A>

Extension Functions

just fun <A> A.just(): IO<A>
just fun <F, E, A> A.just(BR: Bracket<F, E>): Resource<F, E, A>

Inheritors

ResourceMonoid interface ResourceMonoid<F, E, A> : Monoid<Resource<F, E, A>>, ResourceSemigroup<F, E, A>