fs2.data.pattern

Members list

Concise view

Type members

Classlikes

class Compiler[F[_], Expr, Tag, Pat, Out](implicit F: MonadError[F, Throwable], D: Defer[F], Tag: IsTag[Tag], Pat: IsPattern[Pat, Expr, Tag])

A pattern matching compiler to decision tree, based on Compiling Successor ML Pattern Guards by J. Reppy and M. Zahir

A pattern matching compiler to decision tree, based on Compiling Successor ML Pattern Guards by J. Reppy and M. Zahir

Attributes

Source:
Compiler.scala
Graph
Supertypes
class Object
trait Matchable
class Any
case class ConstructorTree[Tag](tag: Tag, args: List[ConstructorTree[Tag]])

Attributes

Companion:
object
Source:
Selectable.scala
Graph
Supertypes
trait Product
trait Equals
class Object
trait Matchable
class Any

Attributes

Companion:
class
Source:
Selectable.scala
Graph
Supertypes
trait Product
trait Mirror
class Object
trait Matchable
class Any
Self type
sealed trait DecisionTree[Expr, Tag, Out]

Attributes

Companion:
object
Source:
DecisionTree.scala
Graph
Supertypes
class Object
trait Matchable
class Any
Known subtypes
class Fail[Expr, Tag, Out]
class Leaf[Expr, Tag, Out]
class Switch[Expr, Tag, Out]

Attributes

Companion:
trait
Source:
DecisionTree.scala
Graph
Supertypes
trait Sum
trait Mirror
class Object
trait Matchable
class Any
Self type
trait Evaluator[Expr, Tag]

Attributes

Companion:
object
Source:
Selectable.scala
Graph
Supertypes
class Object
trait Matchable
class Any
object Evaluator

Attributes

Companion:
trait
Source:
Selectable.scala
Graph
Supertypes
class Object
trait Matchable
class Any
Self type
trait IsPattern[Pat, Expr, Tag]

A type class that describes how the pattern type Pat can be decomposed into Skeletons.

A type class that describes how the pattern type Pat can be decomposed into Skeletons.

Skeletons represent or patterns, and are matched left to right.

Attributes

Source:
IsPattern.scala
Graph
Supertypes
class Object
trait Matchable
class Any
trait IsTag[Tag] extends Eq[Tag]

Attributes

Source:
IsTag.scala
Graph
Supertypes
trait Eq[Tag]
class Object
trait Matchable
class Any
sealed trait NoGuard

A sealed trait with no implementation so that it has no inhabitant. To be used when a pattern language has no guards.

A sealed trait with no implementation so that it has no inhabitant. To be used when a pattern language has no guards.

Attributes

Companion:
object
Source:
Selectable.scala
Graph
Supertypes
class Object
trait Matchable
class Any
object NoGuard

Attributes

Companion:
trait
Source:
Selectable.scala
Graph
Supertypes
class Object
trait Matchable
class Any
Self type
NoGuard.type
class PatternException(msg: String, inner: Throwable) extends Exception

Attributes

Source:
PatternException.scala
Graph
Supertypes
class Exception
class Throwable
class Object
trait Matchable
class Any
sealed trait RawSkeleton[Expr, Tag]

Attributes

Companion:
object
Source:
RawSkeleton.scala
Graph
Supertypes
class Object
trait Matchable
class Any
Known subtypes
class Constructor[Expr, Tag]
class Wildcard[Expr, Tag]

Attributes

Companion:
trait
Source:
RawSkeleton.scala
Graph
Supertypes
trait Sum
trait Mirror
class Object
trait Matchable
class Any
Self type
trait Selectable[Expr, Tag]

Describes the structure of an expression in term of constructor trees that can be selected.

Describes the structure of an expression in term of constructor trees that can be selected.

Attributes

Companion:
object
Source:
Selectable.scala
Graph
Supertypes
class Object
trait Matchable
class Any
object Selectable

Attributes

Companion:
trait
Source:
Selectable.scala
Graph
Supertypes
class Object
trait Matchable
class Any
Self type
sealed trait Selector[Expr, Tag]

A Selector represents the part of the matched input that is under scrutinee during the pattern match.

A Selector represents the part of the matched input that is under scrutinee during the pattern match.

Attributes

Companion:
object
Source:
Selector.scala
Graph
Supertypes
class Object
trait Matchable
class Any
Known subtypes
class Cons[Expr, Tag]
class Guard[Expr, Tag]
class Root[Expr, Tag]
object Selector

Attributes

Companion:
trait
Source:
Selector.scala
Graph
Supertypes
trait Sum
trait Mirror
class Object
trait Matchable
class Any
Self type
sealed trait Skeleton[Expr, Tag]

Attributes

Companion:
object
Source:
Skeleton.scala
Graph
Supertypes
class Object
trait Matchable
class Any
Known subtypes
class Constructor[Expr, Tag]
class Guard[Expr, Tag]
class Wildcard[Expr, Tag]
object Skeleton

Attributes

Companion:
trait
Source:
Skeleton.scala
Graph
Supertypes
trait Sum
trait Mirror
class Object
trait Matchable
class Any
Self type