cheshire

package cheshire

Type members

Classlikes

sealed abstract
class GenTree[+N, +L]
Companion
object
object GenTree extends GenTreeInstances
Companion
class
object ZipTree

Types

type Tree[A] = GenTree[A, A]
opaque type ZipTree[+A]

Extensions

Extensions

extension [A](tree: Tree[A])
def coflatMap[B](f: Tree[A] => B): Tree[B]
def coflatTraverse[F[_], B](f: Tree[A] => F[B])(using evidence$6: Apply[F]): F[Tree[B]]
def flatMap[B](f: A => Tree[B]): Tree[B]
def flatTraverse[F[_], B](f: A => F[Tree[B]])(using evidence$5: Apply[F]): F[Tree[B]]
def map[B](f: A => B): Tree[B]
def mapWithButton[B](f: Button[A, A] => B): Tree[B]
def mapWithChildren[B](f: A => B)(g: (A, A, A) => B): Tree[B]
def mapWithOrientedParent[B](f: A => B)(g: (Oriented[A], A) => B): Tree[B]
def mapWithParent[B](f: A => B)(g: (A, A) => B): Tree[B]
def scanPreOrder[B](f: A => B)(g: (B, A) => B): Tree[B]
def scanPreOrderM[F[_], B](f: A => F[B])(g: (B, A) => F[B])(using evidence$8: Monad[F]): F[Tree[B]]
def scanPreOrderOriented[B](f: A => B)(g: (Oriented[B], A) => B): Tree[B]
def scanPreOrderOrientedM[F[_], B](f: A => F[B])(g: (Oriented[B], A) => F[B])(using evidence$9: Monad[F]): F[Tree[B]]
def traverse[F[_], B](f: A => F[B])(using evidence$1: Apply[F]): F[Tree[B]]
def traverseWithButton[F[_], B](f: Button[A, A] => F[B])(using evidence$7: Monad[F]): F[Tree[B]]
def traverseWithChildren[F[_], B](f: A => F[B])(g: (A, A, A) => F[B])(using evidence$4: Apply[F]): F[Tree[B]]
def traverseWithOrientedParent[F[_], B](f: A => F[B])(g: (Oriented[A], A) => F[B])(using evidence$3: Apply[F]): F[Tree[B]]
def traverseWithParent[F[_], B](f: A => F[B])(g: (A, A) => F[B])(using evidence$2: Applicative[F]): F[Tree[B]]
def value: A
def zip[B](that: Tree[B]): Tree[(A, B)]
def zipWith[B, Z](that: Tree[B])(f: (A, B) => Z): Tree[Z]
def zipWithM[F[_], B, Z](that: Tree[B])(f: (A, B) => F[Z])(using evidence$10: Monad[F]): F[Tree[Z]]