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. class BoundedCombinatoryLogic extends AnyRef

    Permalink

    Type inhabitation for bounded combinatory logic (BCL).

  2. class FiniteCombinatoryLogic extends AnyRef

    Permalink

    Type inhabitation for finite combinatory logic (FCL)

  3. type InhabitationAlgorithm = (FiniteSubstitutionSpace, SubtypeEnvironment, Repository) ⇒ (Seq[Type]) ⇒ TreeGrammar

    Permalink

    For a finitite substitution space, a subtype environment and a repository Gamma, an inhabitation algorithm takes a sequence of types and returns 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 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).

  4. type Repository = Map[String, Type]

    Permalink

    Repositories map combinator names to types

  5. case class Tree(name: String, 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.

  6. type TreeGrammar = Map[Type, Set[(String, Seq[Type])]]

    Permalink

    Tree Grammars map types to sets of combinators and recursive targets, such that the combinator, when applied to arguments of the recursive target types, returns a value of the type on the left hand side

  7. trait TreeGrammarEnumeration extends AnyRef

    Permalink

    Enumeration of all combinatory expressions derivable from a TreeGrammar.

    Enumeration of all combinatory expressions derivable from a TreeGrammar. Use TreeGrammarEnumeration.apply to obtain an enumeration for any given TreeGrammar.

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 prettyPrintTreeGrammar(grammar: TreeGrammar): String

    Permalink

    Returns a prettified String representation of the given tree grammar

Inherited from AnyRef

Inherited from Any

Ungrouped