LogTreeSyntax

trait LogTreeSyntax[Annotation]

See the treelog package documentation for a brief introduction to treelog and also, examples on GitHub to get started.

See the treelog package documentation for a brief introduction to treelog and also, examples on GitHub to get started.

This trait provides syntax for manipulating DescribedComputations. Either:

  • extend this trait, or

  • define an object with the appropriate Annotation type and import on demand

class Object
trait Matchable
class Any

Type members

Classlikes

Syntax for allowing annotations to be added to log tree nodes.

Syntax for allowing annotations to be added to log tree nodes.

The best way to see how this syntax works is to take a look at the annotations example on GitHub.

Here is a short example:

import scalaz.syntax.show._

val syntax = new LogTreeSyntax[String] {}
import syntax._

val result = 1 ~> "One" ~~ Set("Annotating with a string", "And another")
println(result.run.value)
// Will print: \/-(1) - note that the 'right' means ''success''

println(result.run.written.shows)
// Will print:
// One - [Annotating with a string, And another]
class BooleanSyntax(b: Boolean)

Syntax for treating booleans as indicators of success or failure in a computation.

Syntax for treating booleans as indicators of success or failure in a computation.

The simplest usage is something like: myBoolean ~>? "Is my boolean true?". The 'value' and log tree of the returned treelog.LogTreeSyntax.DescribedComputation will indicate success or failure depending on the value of myBoolean.

class BranchLabelingSyntax(description: String)

Syntax for labeling or creating new branches in a log tree given a description.

Syntax for labeling or creating new branches in a log tree given a description.

class EitherSyntax[V](either: Either[String, V])

Syntax for treating scalaz.\/ as signifiers of success or failure in a computation.

Syntax for treating scalaz.\/ as signifiers of success or failure in a computation.

The simplest usage is something like: myEither ~>? "Do I have the right?". The 'value' and log tree of the returned treelog.LogTreeSyntax.DescribedComputation will indicate success or failure depending on the value of myEither.

class FoldSyntax[V](values: Iterable[V])

Syntax for labeling root nodes of trees in DescribedComputions

Syntax for labeling root nodes of trees in DescribedComputions

class LeafSyntax[V](value: V)

Syntax for lifting values into DescribedComputations and creating leaf nodes in the log tree.

Syntax for lifting values into DescribedComputations and creating leaf nodes in the log tree.

class OptionSyntax[V](option: Option[V])

Syntax for treating Options as indicators of success or failure in a computation.

Syntax for treating Options as indicators of success or failure in a computation.

The simplest usage is something like: myOption ~>? "Do I have Some?". The 'value' and log tree of the returned treelog.LogTreeSyntax.DescribedComputation will indicate success or failure depending on the value of myOption.

class TraversableMonadSyntax[F[_], V](values: F[V])(`evidence$1`: Monad[F], `evidence$2`: Traverse[F])

Syntax for dealing with traversable monads

Syntax for dealing with traversable monads

Types

type DescribedComputation[V] = EitherT[LogTreeWriter, String, V]
type LogTree = Tree[LogTreeLabel[Annotation]]
type LogTreeWriter[V] = Writer[LogTree, V]
type SerializableDescribedComputation[V] = (Either[String, V], SerializableTree[Annotation])

Value members

Concrete methods

def failure[V](description: String): DescribedComputation[V]

Create a treelog.LogTreeSyntax.DescribedComputation representing a failure using the given description for both the log tree label and as the content of the value, which will be a Left.

Create a treelog.LogTreeSyntax.DescribedComputation representing a failure using the given description for both the log tree label and as the content of the value, which will be a Left.

def success[V](value: V, description: String): DescribedComputation[V]

Create a treelog.LogTreeSyntax.DescribedComputation representing a success with the given value (lifted into a Right) and the given description in the log tree.

Create a treelog.LogTreeSyntax.DescribedComputation representing a success with the given value (lifted into a Right) and the given description in the log tree.

def success[V](value: V): DescribedComputation[V]

Create a treelog.LogTreeSyntax.DescribedComputation representing a success with the given value (lifted into a Right) and no description.

Create a treelog.LogTreeSyntax.DescribedComputation representing a success with the given value (lifted into a Right) and no description.

Implicits

Implicits

implicit val logTreeMonoid: Monoid[LogTree]
implicit def logTreeShow(annotationShow: Show[Annotation]): Show[LogTree]