View Source Guesswork.Ast.OneOf (Guesswork v0.8.0)

Binds a value to an Enumerable of possible values.

Note that, when created, the bound value should always be a variable. However, in the process of substitution it may become a concrete value, in which case, on resolution, the stored value is checked against the stream.

It is invalid for the stream to produce a variable.

Summary

Types

t()

@type t() :: %Guesswork.Ast.OneOf{
  binding: Guesswork.Ast.Variable.t() | Guesswork.Ast.Entity.t(),
  values: Enumerable.t()
}

Functions

new(variable, stream)

@spec new(Guesswork.Ast.Variable.t(), Enumerable.t()) :: t()