Logtalk reference manual
Built-in method: asserta/1

asserta/1

Description

asserta(Head)
asserta((Head:-Body))

Asserts a clause as the first one for an object's dynamic predicate. If the predicate is not already declared, then a dynamic predicate declaration is added to the object.

Template and modes

asserta(+clause)

Errors

Head is a variable:
instantiation_error
Head is a neither a variable nor a callable term:
type_error(callable, Head)
Body cannot be converted to a goal:
type_error(callable, Body)
The predicate indicator of Head is that of a private predicate:
permission_error(modify, private_predicate, Head)
The predicate indicator of Head is that of a protected predicate:
permission_error(modify, protected_predicate, Head)
The predicate indicator of Head is that of a static predicate:
permission_error(modify, static_predicate, Head)

Examples

To assert a clause as the first one for any dynamic predicate in this:
asserta(Clause)
To assert a clause as the first one for any public or protected dynamic predicate in self:
::asserta(Clause)
To assert a clause as the first one for any public dynamic predicate in an object:
Object::asserta(Clause)