Package

org.combinators.cls

inhabitation

Permalink

package inhabitation

Linear Supertypes
AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. inhabitation
  2. AnyRef
  3. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Type Members

  1. final case class Apply(target: Type, functionType: Type, argumentType: Type) extends Rule with Product with Serializable

    Permalink

    Represents the application of a term of type functionType to a term of type argumentType to obtain type target.

  2. class BoundedCombinatoryLogic extends AnyRef

    Permalink

    Type inhabitation for bounded combinatory logic (BCL).

  3. final case class Combinator(target: Type, combinator: String) extends Rule with Product with Serializable

    Permalink

    Represents types inhabited by a combinator without arguments.

  4. final case class Failed(target: Type) extends Rule with Product with Serializable

    Permalink

    Represents uninhabited types.

  5. class FiniteCombinatoryLogic extends LazyLogging

    Permalink

    Type inhabitation for finite combinatory logic (FCL)

  6. type InhabitationAlgorithm = (FiniteSubstitutionSpace, SubtypeEnvironment, Repository) ⇒ (Seq[Type]) ⇒ Set[Rule]

    Permalink

    For a finitite substitution space, a subtype environment and a repository Gamma, an inhabitation algorithm takes a sequence of types and returns a set of rules for a tree grammar, describing all inhabitants of these types.

    For a finitite substitution space, a subtype environment and a repository Gamma, an inhabitation algorithm takes a sequence of types and returns a set of rules for a tree grammar, describing all inhabitants of these types. We have for all i ≤ k: Gamma |- M : tau_i iff M is a word of the language of the grammar returned by the algorithm applied to Seq(tau_1, tau_2, ..., tau_k).

  7. type Repository = Map[String, Type]

    Permalink

    Repositories map combinator names to types.

  8. sealed trait Rule extends AnyRef

    Permalink

    Rules describe how to form inhabitants from combinators.

  9. case class Tree(name: String, target: Type, arguments: Tree*) extends Product with Serializable

    Permalink

    A combinator expression.

    A combinator expression.

    name

    the name of the combinator in head position.

    arguments

    arguments of the combinator.

  10. trait TreeGrammarEnumeration extends AnyRef

    Permalink

    Enumeration of all combinator expressions derivable from a tree grammar.

    Enumeration of all combinator expressions derivable from a tree grammar. Use TreeGrammarEnumeration.apply to obtain an enumeration for any given tree grammar.

Value Members

  1. object BoundedCombinatoryLogic

    Permalink

    Provides a type inhabitation algorithm for bounded combinatory logic (BCL).

  2. object FiniteCombinatoryLogic

    Permalink

    Provides a type inhabitation algorithm for finite combinatory logic (FCL)

  3. object TreeGrammarEnumeration

    Permalink

    Helper object to obtain enumerations.

  4. def prettyPrintRuleList(rules: Seq[Rule]): String

    Permalink

    Returns a prettified String representation of the given (ordered) list of rules

  5. def prettyPrintRuleSet(rules: Set[Rule]): String

    Permalink

    Returns a prettified String representation of the given rule set

Inherited from AnyRef

Inherited from Any

Ungrouped