fix: debruijn index - 1

Co-authored-by: rvcas <x@rvcas.dev>
This commit is contained in:
Kasey White 2022-07-09 22:12:51 -04:00 committed by Kasey White
parent d55409d8c5
commit a5140513de
2 changed files with 3 additions and 3 deletions

View File

@ -1,4 +1,4 @@
(program
1.0.0
[ (builtin addInteger) (con integer 2) (con integer 3) ]
[ (lam x (lam y [ (builtin addInteger) x y ])) (con integer 5) (con integer 7) ]
)

View File

@ -168,7 +168,7 @@ impl Machine {
Term::Var(name)
} else {
this.env
.get::<usize>(index - lam_cnt)
.get::<usize>(index - lam_cnt - 1)
.cloned()
.map_or(Term::Var(name), |v| this.discharge_value(v))
}
@ -262,7 +262,7 @@ impl Machine {
fn lookup_var(&mut self, name: NamedDeBruijn) -> Result<Value, Error> {
self.env
.get::<usize>(name.index.into())
.get::<usize>(usize::from(name.index) - 1)
.cloned()
.ok_or(Error::OpenTermEvaluated(Term::Var(name)))
}