Skip to content

Traversable

4 exports Added in v0.24.0 Source

Other

sequence

Added in v0.24.0 Source

Returns a default sequence implementation.

Signature

declare function sequence<T extends TypeLambda>(
  T: Traversable<T>,
): <F extends TypeLambda>(
  F: Applicative<F>,
) => <TR, TO, TE, R, O, E, A>(
  self: Kind<T, TR, TO, TE, Kind<F, R, O, E, A>>,
) => Kind<F, R, O, E, Kind<T, TR, TO, TE, A>>;

Returns a default binary traverse composition.

Signature

declare function traverseComposition<T extends TypeLambda, G extends TypeLambda>(
  T: Traversable<T>,
  G: Traversable<G>,
): <F extends TypeLambda>(
  F: Applicative<F>,
) => <TR, TO, TE, GR, GO, GE, A, R, O, E, B>(
  self: Kind<T, TR, TO, TE, Kind<G, GR, GO, GE, A>>,
  f: (a: A) => Kind<F, R, O, E, B>,
) => Kind<F, R, O, E, Kind<T, TR, TO, TE, Kind<G, GR, GO, GE, B>>>;

traverseTap

Added in v0.24.0 Source

Given a function which returns a F effect, thread this effect through the running of this function on all the values in T, returning an T<A> in a F context, ignoring the values returned by the provided function.

Signature

declare function traverseTap<T extends TypeLambda>(
  T: Traversable<T>,
): <F extends TypeLambda>(
  F: Applicative<F>,
) => {
  <A, R, O, E, B>(
    f: (a: A) => Kind<F, R, O, E, B>,
  ): <TR, TO, TE>(self: Kind<T, TR, TO, TE, A>) => Kind<F, R, O, E, Kind<T, TR, TO, TE, A>>;
  <TR, TO, TE, A, R, O, E, B>(
    self: Kind<T, TR, TO, TE, A>,
    f: (a: A) => Kind<F, R, O, E, B>,
  ): Kind<F, R, O, E, Kind<T, TR, TO, TE, A>>;
};

Type Class

Traversable interface

Added in v0.24.0 Source

Signature

interface Traversable<T extends TypeLambda> extends TypeClass<T> {
  readonly traverse: <F extends TypeLambda>(
    F: Applicative<F>,
  ) => {
    <A, R, O, E, B>(
      f: (a: A) => Kind<F, R, O, E, B>,
    ): <TR, TO, TE>(self: Kind<T, TR, TO, TE, A>) => Kind<F, R, O, E, Kind<T, TR, TO, TE, B>>;
    <TR, TO, TE, A, R, O, E, B>(
      self: Kind<T, TR, TO, TE, A>,
      f: (a: A) => Kind<F, R, O, E, B>,
    ): Kind<F, R, O, E, Kind<T, TR, TO, TE, B>>;
  };
}