This repository has been archived on 2023-08-20. You can view files and clone it, but cannot push or open issues or pull requests.
yap-6.3/Logtalk/examples/dynpred/prototype.lgt
pmoura 47a5475024 Logtalk 2.12.0 files.
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@495 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2002-05-28 11:35:10 +00:00

43 lines
672 B
Plaintext

:- object(prototype).
:- public(object_assert/0).
:- public(self_assert/0).
:- public(this_assert/0).
:- public(dynamic_predicates/0).
object_assert :-
self(Self),
Self::assertz(public_predicate).
self_assert :-
::assertz(protected_predicate).
this_assert :-
assertz(private_predicate).
dynamic_predicates :-
current_predicate(Functor/Arity),
functor(Predicate, Functor, Arity),
predicate_property(Predicate, (dynamic)),
predicate_property(Predicate, Scope),
scope(Scope),
writeq(Functor/Arity), write(' - '), writeq(Scope), nl,
fail.
dynamic_predicates.
scope(private).
scope(protected).
scope((public)).
:- end_object.