It is allowed to copy the data and use PL_recorded_external() on the copy. The user is responsible for the memory management of the copy. After copying, the original may be discarded using PL_erase_external().
PL_record_external() will fail if the term contains blobs that cannot be serialized, such as streams.
PL_recorded_external() is used to copy such recorded terms back to the Prolog stack.
- int PL_assert(term_t t, module_t m, int flags)
- Provides direct access to asserta/1
by asserting t into the database in the module m.
Defined flags are:
- Add the new clause as last. Calls assertz/1. This macros is defined as 0 and thus the default.
- Add the new clause as first. Calls