trealla-prolog / trealla

A compact, efficient Prolog interpreter written in plain-old C.
MIT License
268 stars 13 forks source link

Another module issue #587

Closed flexoron closed 3 weeks ago

flexoron commented 3 weeks ago

v2.55.41

?- [user]. p. q. end_of_file.
   true.
?- user:p.
   true.
?- user:q.
   true.
?- [user]. user:p. user:q. end_of_file.
Warning: overwriting 'p'/0
Warning: overwriting 'q'/0
   true.
?- user:p.
   false. % unexpected
?- user:q.
   false. % unexpected
?- listing.
user:p.
user:q.
   true.
?- 
infradig commented 3 weeks ago

$ tpl ?- [user]. p. q. end_of_file. true. ?- listing. p. q. true. ?- [user]. user:p. user:q. end_of_file. Warning: overwriting 'p'/0 Warning: overwriting 'q'/0 true. ?- listing. user:p. user:q. true.

infradig commented 3 weeks ago

Dunno why the module is still prepended.

infradig commented 3 weeks ago

More module mayhem:

$ tpl ?- assertz(user:p). true. ?- listing. user:p. true. ?- p. false. ?- user:p. false.

flexoron commented 3 weeks ago
$ tpl 
?- [user]. p. q. end_of_file.
   true.
?- p.
   true.
?- user:p.
   true.
?- 'p'.
   true.
?- user:'p'.
   throw(error(existence_error(procedure,'3\x18\5'/0),'3\x18\5'/0)).
?- 
flexoron commented 3 weeks ago

This issue(#587) has been fixed with v2.55.42. Many thanks.