summaryrefslogtreecommitdiff
path: root/src/eval
diff options
context:
space:
mode:
authorLaurenz <laurmaedje@gmail.com>2022-09-19 11:14:58 +0200
committerLaurenz <laurmaedje@gmail.com>2022-09-19 11:16:05 +0200
commit4ec3bcee487c1567bc6551f81d4f69eee4379076 (patch)
tree84ece5a894679adbe06c43712af685c5561a83ca /src/eval
parente5f958b92161732ae46ccc66ce3d6eea213cf925 (diff)
Remove pins and memoization
Diffstat (limited to 'src/eval')
-rw-r--r--src/eval/cast.rs6
-rw-r--r--src/eval/methods.rs17
-rw-r--r--src/eval/mod.rs18
3 files changed, 3 insertions, 38 deletions
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::<Group>() {
- 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.