Module arithmetic_typing::ast

source ·
Expand description

ASTs for type annotations and their parsing logic.

Overview

This module contains types representing AST for parsed type annotations; for example, TypeAst and FunctionAst. These two types expose parse method which allows to integrate them into nom parsing.

Structs

  • Parameter constraints, e.g. for<len! N; T: Lin>.
  • Parsed functional type.
  • Object type or constraint, such as { x: Num, y: [(Num, Bool)] }.
  • Parsed slice type, such as [Num; N].
  • Parsed tuple type, such as (Num, Bool) or (fn() -> Num, ...[Num; _]).
  • Bounds that can be placed on a type variable.

Enums

Type Aliases