fs2.data.pattern

Members list

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.

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

Attributes

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

Attributes

Companion
object
Source
Selectable.scala
Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all

Attributes

Companion
class
Source
Selectable.scala
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
Supertypes
class Object
trait Matchable
class Any
Known subtypes
class Fail[Expr, Tag, Out]
class Leaf[Expr, Tag, Out]
class Switch[Expr, Tag, Out]
object DecisionTree

Attributes

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

Attributes

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

Attributes

Companion
trait
Source
Selectable.scala
Supertypes
class Object
trait Matchable
class Any
Self type
Evaluator.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
Supertypes
class Object
trait Matchable
class Any
trait IsTag[Tag] extends Eq[Tag]

Attributes

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

A sealed trait with no implementation so that it has no inhabitant.

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
Supertypes
class Object
trait Matchable
class Any
object NoGuard

Attributes

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

Attributes

Source
PatternException.scala
Supertypes
class Exception
class Throwable
trait Serializable
class Object
trait Matchable
class Any
Show all
sealed trait RawSkeleton[Expr, Tag]

Attributes

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

Attributes

Companion
trait
Source
RawSkeleton.scala
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
Supertypes
class Object
trait Matchable
class Any
object Selectable

Attributes

Companion
trait
Source
Selectable.scala
Supertypes
class Object
trait Matchable
class Any
Self type
Selectable.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
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
Supertypes
trait Sum
trait Mirror
class Object
trait Matchable
class Any
Self type
Selector.type
sealed trait Skeleton[Expr, Tag]

Attributes

Companion
object
Source
Skeleton.scala
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
Supertypes
trait Sum
trait Mirror
class Object
trait Matchable
class Any
Self type
Skeleton.type