glance

Types

pub type Constant {
  Constant(
    name: String,
    publicity: Publicity,
    annotation: Option(Type),
    value: ConstantExpression,
  )
}

Constructors

  • Constant(
      name: String,
      publicity: Publicity,
      annotation: Option(Type),
      value: ConstantExpression,
    )
pub type ConstantExpression {
  ConstantBitString
  ConstantInt(String)
  ConstantFloat(String)
  ConstantString(String)
  ConstantVariable(String)
  ConstantTuple(List(ConstantExpression))
  ConstantList(List(ConstantExpression))
  ConstantConstructor(
    name: String,
    module: Option(String),
    parameters: List(Field(ConstantExpression)),
  )
}

Constructors

  • ConstantBitString
  • ConstantInt(String)
  • ConstantFloat(String)
  • ConstantString(String)
  • ConstantVariable(String)
  • ConstantTuple(List(ConstantExpression))
  • ConstantList(List(ConstantExpression))
  • ConstantConstructor(
      name: String,
      module: Option(String),
      parameters: List(Field(ConstantExpression)),
    )
pub type CustomType {
  CustomType(
    name: String,
    publicity: Publicity,
    parameters: List(String),
    variants: List(Variant),
  )
}

Constructors

  • CustomType(
      name: String,
      publicity: Publicity,
      parameters: List(String),
      variants: List(Variant),
    )
pub type Error {
  UnexpectedEndOfInput
  UnexpectedToken(token: Token, position: Position)
}

Constructors

  • UnexpectedEndOfInput
  • UnexpectedToken(token: Token, position: Position)
pub type ExternalFunction {
  ExternalFunction(
    name: String,
    publicity: Publicity,
    parameters: List(Field(Type)),
    return: Type,
    module: String,
    function: String,
  )
}

Constructors

  • ExternalFunction(
      name: String,
      publicity: Publicity,
      parameters: List(Field(Type)),
      return: Type,
      module: String,
      function: String,
    )
pub type ExternalType {
  ExternalType(
    name: String,
    publicity: Publicity,
    parameters: List(String),
  )
}

Constructors

  • ExternalType(
      name: String,
      publicity: Publicity,
      parameters: List(String),
    )
pub type Field(t) {
  Field(label: Option(String), item: t)
}

Constructors

  • Field(label: Option(String), item: t)
pub type Import {
  Import(
    module: String,
    alias: Option(String),
    unqualified: List(UnqualifiedImport),
  )
}

Constructors

  • Import(
      module: String,
      alias: Option(String),
      unqualified: List(UnqualifiedImport),
    )
pub type Module {
  Module(
    imports: List(Import),
    custom_types: List(CustomType),
    type_aliases: List(TypeAlias),
    constants: List(Constant),
    external_types: List(ExternalType),
    external_functions: List(ExternalFunction),
  )
}

Constructors

  • Module(
      imports: List(Import),
      custom_types: List(CustomType),
      type_aliases: List(TypeAlias),
      constants: List(Constant),
      external_types: List(ExternalType),
      external_functions: List(ExternalFunction),
    )
pub type Publicity {
  Public
  Private
}

Constructors

  • Public
  • Private
pub type Type {
  NamedType(
    name: String,
    module: Option(String),
    parameters: List(Type),
  )
  TupleType(elements: List(Type))
  FunctionType(paramters: List(Type), return: Type)
  VariableType(name: String)
}

Constructors

  • NamedType(
      name: String,
      module: Option(String),
      parameters: List(Type),
    )
  • TupleType(elements: List(Type))
  • FunctionType(paramters: List(Type), return: Type)
  • VariableType(name: String)
pub type TypeAlias {
  TypeAlias(
    name: String,
    publicity: Publicity,
    parameters: List(String),
    aliased: Type,
  )
}

Constructors

  • TypeAlias(
      name: String,
      publicity: Publicity,
      parameters: List(String),
      aliased: Type,
    )
pub type UnqualifiedImport {
  UnqualifiedImport(name: String, alias: Option(String))
}

Constructors

  • UnqualifiedImport(name: String, alias: Option(String))
pub type Variant {
  Variant(name: String, fields: List(Field(Type)))
}

Constructors

  • Variant(name: String, fields: List(Field(Type)))

Functions

pub fn module(src: String) -> Result(Module, Error)
Search Document