about summary refs log tree commit diff
path: root/users/grfn/achilles/src/commands/eval.rs
diff options
context:
space:
mode:
Diffstat (limited to 'users/grfn/achilles/src/commands/eval.rs')
-rw-r--r--users/grfn/achilles/src/commands/eval.rs28
1 files changed, 0 insertions, 28 deletions
diff --git a/users/grfn/achilles/src/commands/eval.rs b/users/grfn/achilles/src/commands/eval.rs
deleted file mode 100644
index efd7399ed1c4..000000000000
--- a/users/grfn/achilles/src/commands/eval.rs
+++ /dev/null
@@ -1,28 +0,0 @@
-use clap::Clap;
-
-use crate::{codegen, interpreter, parser, tc, Result};
-
-/// Evaluate an expression and print its result
-#[derive(Clap)]
-pub struct Eval {
-    /// JIT-compile with LLVM instead of interpreting
-    #[clap(long)]
-    jit: bool,
-
-    /// Expression to evaluate
-    expr: String,
-}
-
-impl Eval {
-    pub fn run(self) -> Result<()> {
-        let (_, parsed) = parser::expr(&self.expr)?;
-        let hir = tc::typecheck_expr(parsed)?;
-        let result = if self.jit {
-            codegen::jit_eval::<i64>(&hir)?.into()
-        } else {
-            interpreter::eval(&hir)?
-        };
-        println!("{}", result);
-        Ok(())
-    }
-}