From: LeonardoBizzoni Date: Thu, 21 Dec 2023 07:04:45 +0000 (+0100) Subject: Fixato backtracking a superclass se metodo già definito dalla class X-Git-Url: http://git.leonardobizzoni.com/?a=commitdiff_plain;h=377172761a2f4e50ac705ee365bf4e68aec9524d;p=ObjectOriented-Prolog-Lisp Fixato backtracking a superclass se metodo già definito dalla class --- diff --git a/Prolog/README.org b/Prolog/README.org index 1812694..3f9ce21 100644 --- a/Prolog/README.org +++ b/Prolog/README.org @@ -211,7 +211,7 @@ add_part(ClassName, [method(Name, ArgList, Body) | OtherParts]) :- asserta(is_member(method(Name, ArgList, Body), ClassName)), Fn =.. [Name, Instance | ArgList], - asserta(Fn :- call_method(Instance, ClassName, Body)), + asserta(Fn :- (call_method(Instance, ClassName, Body), !)), add_part(ClassName, OtherParts). #+end_src diff --git a/Prolog/oop.pl b/Prolog/oop.pl index 9cf2063..7bcd4c6 100644 --- a/Prolog/oop.pl +++ b/Prolog/oop.pl @@ -154,7 +154,7 @@ add_part(ClassName, [method(Name, ArgList, Body) | OtherParts]) :- asserta(is_member(method(Name, ArgList, Body), ClassName)), Fn =.. [Name, Instance | ArgList], - asserta(Fn :- call_method(Instance, ClassName, Body)), + asserta(Fn :- (call_method(Instance, ClassName, Body), !)), add_part(ClassName, OtherParts).