Companion

object Companion

Functions

Link copied to clipboard
fun createListNodeTypeNoCheck(listNodeEnumKind: PhraseTypeDescriptor.PhraseKind, yieldType: A_Type, subexpressionsTupleType: A_Type): A_Type

Create a list phrase type with the given yield type and the given tuple type of expression types. Assume the two types have already been made mutually canonical: They both represent constraints on the elements, so they should already be taking each other's restriction into account.

Link copied to clipboard
fun createListPhraseType(subexpressionsTupleType: A_Type): A_Type

Create a list phrase type with the given tuple type of expression types.

fun createListPhraseType(kind: PhraseTypeDescriptor.PhraseKind, yieldType: A_Type, subexpressionsTupleType: A_Type): A_Type

Create a list phrase type with the given yield type and the given tuple type of expression types. Canonize the resulting type by combining the mutual element constraints.

Link copied to clipboard

Answer the empty list phrase's type.

Link copied to clipboard
fun list(vararg types: A_Type): A_Type

Given an array of types, create the most general list phrase type which has a yield type matching those types as a tuple.

Link copied to clipboard
fun listPrefix(minimumSize: Int, vararg types: A_Type): A_Type

Given an array of types, create the most general list phrase type which has a yield type matching those types as a tuple, but where the size can vary from the given minimum size to the array's size.

Link copied to clipboard

Create a list phrase type matching zero or more occurrences of arbitrary phrases that yield the given type.

Link copied to clipboard

Create a list phrase type matching zero or one occurrences of arbitrary phrases that yield the given type.