From 4ec3bcee487c1567bc6551f81d4f69eee4379076 Mon Sep 17 00:00:00 2001 From: Laurenz Date: Mon, 19 Sep 2022 11:14:58 +0200 Subject: Remove pins and memoization --- src/eval/cast.rs | 6 +----- src/eval/methods.rs | 17 ----------------- src/eval/mod.rs | 18 ++---------------- 3 files changed, 3 insertions(+), 38 deletions(-) (limited to 'src/eval') diff --git a/src/eval/cast.rs b/src/eval/cast.rs index b27e3edc..99c34810 100644 --- a/src/eval/cast.rs +++ b/src/eval/cast.rs @@ -3,7 +3,7 @@ use std::num::NonZeroUsize; use super::{Regex, Value}; use crate::diag::{with_alternative, StrResult}; use crate::geom::{Corners, Dir, Paint, Sides}; -use crate::model::{Content, Group, Layout, LayoutNode, Pattern}; +use crate::model::{Content, Layout, LayoutNode, Pattern}; use crate::syntax::Spanned; use crate::util::EcoString; @@ -128,10 +128,6 @@ dynamic! { Regex: "regular expression", } -dynamic! { - Group: "group", -} - castable! { usize, Expected: "non-negative integer", diff --git a/src/eval/methods.rs b/src/eval/methods.rs index aeb84c5a..5072e688 100644 --- a/src/eval/methods.rs +++ b/src/eval/methods.rs @@ -2,7 +2,6 @@ use super::{Args, Machine, Value}; use crate::diag::{At, TypResult}; -use crate::model::{Content, Group}; use crate::syntax::Span; use crate::util::EcoString; @@ -109,22 +108,6 @@ pub fn call( _ => return missing(), }, - Value::Dyn(dynamic) => { - if let Some(group) = dynamic.downcast::() { - match method { - "entry" => Value::Content(Content::Locate( - group.entry(args.expect("recipe")?, args.named("value")?), - )), - "all" => { - Value::Content(Content::Locate(group.all(args.expect("recipe")?))) - } - _ => return missing(), - } - } else { - return missing(); - } - } - _ => return missing(), }; diff --git a/src/eval/mod.rs b/src/eval/mod.rs index 7f182f48..2ab94785 100644 --- a/src/eval/mod.rs +++ b/src/eval/mod.rs @@ -62,15 +62,6 @@ pub fn evaluate( panic!("Tried to cyclicly evaluate {}", path); } - // Check whether the module was already evaluated. - if let Some(module) = ctx.modules.get(&id) { - if module.valid(&ctx.sources) { - return Ok(module.clone()); - } else { - ctx.modules.remove(&id); - } - } - route.push(id); // Parse the file. @@ -91,16 +82,11 @@ pub fn evaluate( } // Assemble the module. - let module = Module { + Ok(Module { scope: vm.scopes.top, content: result?, deps: vm.deps, - }; - - // Save the evaluated module. - ctx.modules.insert(id, module.clone()); - - Ok(module) + }) } /// An evaluated module, ready for importing or layouting. -- cgit v1.2.3