diff options
Diffstat (limited to 'users/tazjin/rlox/src/interpreter/builtins.rs')
-rw-r--r-- | users/tazjin/rlox/src/interpreter/builtins.rs | 25 |
1 files changed, 0 insertions, 25 deletions
diff --git a/users/tazjin/rlox/src/interpreter/builtins.rs b/users/tazjin/rlox/src/interpreter/builtins.rs deleted file mode 100644 index 6ed9f07c3ffa..000000000000 --- a/users/tazjin/rlox/src/interpreter/builtins.rs +++ /dev/null @@ -1,25 +0,0 @@ -use std::fmt; -use std::time::{SystemTime, UNIX_EPOCH}; - -use crate::errors::Error; -use crate::interpreter::Value; -use crate::parser::Literal; - -pub trait Builtin: fmt::Debug { - fn arity(&self) -> usize; - fn call(&self, args: Vec<Value>) -> Result<Value, Error>; -} - -// Builtin to return the current timestamp. -#[derive(Debug)] -pub struct Clock {} -impl Builtin for Clock { - fn arity(&self) -> usize { - 0 - } - - fn call(&self, _args: Vec<Value>) -> Result<Value, Error> { - let now = SystemTime::now().duration_since(UNIX_EPOCH).unwrap(); - Ok(Value::Literal(Literal::Number(now.as_secs() as f64))) - } -} |