From: Mark Thom Date: Tue, 18 Sep 2018 20:20:34 +0000 (-0300) Subject: correct and load numbervars X-Git-Tag: v0.8.110~371 X-Git-Url: https://git.sagredo.dev/?a=commitdiff_plain;h=4d6590c6aa7f959b581ff6a9d7b0ea758d2da07b;p=scryer-prolog.git correct and load numbervars --- diff --git a/src/prolog/lib/numbervars.pl b/src/prolog/lib/numbervars.pl index 26bc5494..84a1431d 100644 --- a/src/prolog/lib/numbervars.pl +++ b/src/prolog/lib/numbervars.pl @@ -10,8 +10,6 @@ numbervars(Term, NewTerm, N) :- numbervars(Term, NewTerm, N1, N2) :- var(Term), !, NewTerm = '$VAR'(N1), N2 is N1 + 1. -numbervars([Arg | Args], NewTerms, N1, N2) :- !, - fold_numbervars([Arg | Args], NewTerms, N1, N2). numbervars(Term, NewTerm, N1, N2) :- compound(Term), !, Term =.. [Name | Args], NewTerm =.. [Name | NewArgs], diff --git a/src/prolog/machine/mod.rs b/src/prolog/machine/mod.rs index de4c613f..ec9b11e7 100644 --- a/src/prolog/machine/mod.rs +++ b/src/prolog/machine/mod.rs @@ -115,6 +115,7 @@ impl<'a> SubModuleUser for MachineCodeIndices<'a> { static LISTS: &str = include_str!("../lib/lists.pl"); static CONTROL: &str = include_str!("../lib/control.pl"); static QUEUES: &str = include_str!("../lib/queues.pl"); +static NUMBERVARS: &str = include_str!("../lib/numbervars.pl"); impl Machine { pub fn new() -> Self { @@ -137,6 +138,7 @@ impl Machine { compile_user_module(&mut wam, LISTS.as_bytes()); compile_user_module(&mut wam, CONTROL.as_bytes()); compile_user_module(&mut wam, QUEUES.as_bytes()); + compile_user_module(&mut wam, NUMBERVARS.as_bytes()); wam }