Type Aliases

The following type aliases are available globally.

Parsing

  • A function that parses an instance of T by consuming a prefix of tokens, or returns nil if such instance cannot be parsed.

    Note

    a prefix of tokens may have been consumed even if the function returns nil.

    Declaration

    Swift

    private typealias BuiltinFunctionParser<T> = @Sendable (_ tokens: inout ArraySlice<Substring>) -> T?
  • A path relative to some record type, identifying a field or sub-field of that record, or the empty path denoting the identity.

    Given a path p, p[i] denotes the index of a field in the object identified by the path p[..<i]. An empty path can be used relative to any type, including non-records.

    For example, relative to a type T = {foo: A, bar: {baz: B, ham: C}}:

    • [0] denotes foo,
    • [1, 0] denotes bar.baz, and
    • [] denotes the whole T record.

    Declaration

    Swift

    public typealias RecordPath = [Int]
  • A map from name expression to its referred declaration.

    Declaration

    Swift

    public typealias BindingMap = [NameExpr.ID : DeclReference]
  • A closure reporting the diagnostics of a goal’s failure into d, using m to reify types and reading the outcome of other goals from o.

    Declaration

    Swift

    private typealias DiagnoseFailure = (
      _ d: inout DiagnosticSet,
      _ m: SubstitutionMap,
      _ o: OutcomeMap
    ) -> Void
  • The identity of a gaol in an instance of ConstraintSystem.

    Declaration

    Swift

    private typealias GoalIdentity = Int
  • A map from goal to its outcome.

    Declaration

    Swift

    private typealias OutcomeMap = [Outcome?]
  • Undocumented

    Declaration

    Swift

    typealias ConstraintSet = CustomWitnessedSet<ConstraintHashableWitness>
  • A set of rewriting rules describing the requirements of a generic signature.

    Declaration

    Swift

    typealias RequirementSystem = RewritingSystem<RequirementTerm>
  • A rule in a requirement rewriting system.

    Declaration

    Swift

    typealias RequirementRule = RewritingRule<RequirementTerm>