const program = Effect.gen(function* (_) {
const ref = yield* _(Ref.make(0));
const fiber1 = yield* _(
Ref.update(ref, (n) => n + 1),
Effect.forever,
Effect.fork
);
const fiber2 = yield* _(
Ref.get(ref),
Effect.flatMap((n) => Effect.log(`n = ${n}`)),
Effect.repeat(Schedule.spaced("1 seconds")),
Effect.fork
);
yield* _(Fiber.joinAll([fiber1, fiber2]));
});
const program = Effect.gen(function* (_) {
const ref = yield* _(Ref.make(0));
const fiber1 = yield* _(
Ref.update(ref, (n) => n + 1),
Effect.forever,
Effect.fork
);
const fiber2 = yield* _(
Ref.get(ref),
Effect.flatMap((n) => Effect.log(`n = ${n}`)),
Effect.repeat(Schedule.spaced("1 seconds")),
Effect.fork
);
yield* _(Fiber.joinAll([fiber1, fiber2]));
});