Effect CommunityEC
Effect Community•2y ago•
3 replies
bwlt

Composing Effects in fp-ts: Swapping Option<Effect<X>> with Effect<Option<X>>

👋 coming from fp-ts. How to compose those effects?
function program<A, B>(
  effect: Effect.Effect<never, never, Option.Option<A>>,
  f: (a: A) => Effect.Effect<never, never, B>
): Effect.Effect<never, never, Option.Option<B>> {
  return effect.pipe((a) => hole());
}

in fp-ts is something like Option.sequence(Effect.Applicative) in order to "swap" the typeclass Option<Effect<X>> with Effect<Option<X>>
Was this page helpful?