val 0.4.0

An arbitrary precision calculator language
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
use super::*;

pub enum Completion<'a> {
  Break,
  Continue,
  Return(Value<'a>),
  Value(Value<'a>),
}

impl<'a> Completion<'a> {
  pub(crate) fn unwrap(&self) -> Value<'a> {
    match self {
      Completion::Return(value) | Completion::Value(value) => value.clone(),
      Completion::Break | Completion::Continue => Value::Null,
    }
  }
}