val 0.3.6

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

pub struct BuiltinFunctionPayload<'a> {
  pub arguments: Vec<Value<'a>>,
  pub config: Config,
  pub span: Span,
}

pub type BuiltinFunction<'a> =
  fn(BuiltinFunctionPayload<'a>) -> Result<Value<'a>, Error>;

#[derive(Clone, Debug)]
pub enum Function<'a> {
  Builtin(BuiltinFunction<'a>),
  UserDefined(Value<'a>),
}