packages feed

semigroupoids-6.0.1: img/classes.dot

digraph {
  node[shape=box];
  functor [label="Functor"];
  foldable [label="Foldable"];
  traversable [label="Traversable"];
  apply [label="Apply", penwidth=2.0];
  bind [label="Bind", penwidth=2.0];
  applicative [label="Applicative"];
  alt [label="Alt", penwidth=2.0];
  plus [label="Plus", penwidth=2.0];
  alternative [label="Alternative"];
  monad [label="Monad"];
  monad_plus [label="MonadPlus"];
  foldable1 [label="Foldable1", penwidth=2.0];
  traversable1 [label="Traversable1", penwidth=2.0];
  bifunctor [label="Bifunctor"];
  biapply [label="Biapply", penwidth=2.0];
  contravariant [label="Contravariant"];
  divise [label="Divise", penwidth=2.0];
  decide [label="Decide", penwidth=2.0];
  divisible [label="Divisible"];
  decidable [label="Decidable"];
  conclude [label="Conclude", penwidth=2.0];
  semigroupoid [label="Semigroupoid", penwidth=2.0];
  category [label="Category"];
  arrow [label="Arrow"];
  functor -> apply;
  functor -> alt;
  apply -> bind;
  apply -> applicative [style=dashed];
  alt -> plus;
  plus -> alternative [style=dashed];
  applicative -> alternative;
  applicative -> monad;
  bind -> monad [style=dashed];
  monad -> monad_plus;
  alternative -> monad_plus;
  functor -> traversable;
  foldable -> traversable;
  foldable -> foldable1;
  foldable1 -> traversable1;
  traversable -> traversable1;
  bifunctor -> biapply;
  contravariant -> divise;
  contravariant -> decide;
  divise -> divisible [style=dashed];
  decide -> decidable [style=dashed];
  decide -> conclude;
  conclude -> decidable [style=dashed];
  semigroupoid -> category [style=dashed];
  category -> arrow;
}