category

gensym_core

Predicates for generating unique atoms. Protocol based on the gensym module of SWI-Prolog. The predicates are declared as synchronized when the library is compiled using a backend supporting threads.

Availability:
logtalk_load(gensym(loader))
Author: Paulo Moura
Version: 2:1:0
Date: 2022-07-26
Compilation flags:
static
Dependencies:
(none)
Remarks:
(none)
Inherited public predicates:
(none)

Public predicates

reset_gensym/0

Resets the generator counter for all bases.

Compilation flags:
static, synchronized
Mode and number of proofs:
reset_gensym - one

reset_gensym/1

Resets the generator counter for a given base.

Compilation flags:
static, synchronized
Template:
reset_gensym(Base)
Mode and number of proofs:
reset_gensym(+atom) - one

gensym/2

Returns a new unique atom with a given base (prefix).

Compilation flags:
static, synchronized
Template:
gensym(Base,Unique)
Mode and number of proofs:
gensym(+atom,-atom) - one

Protected predicates

(none)

Private predicates

base_/2

Table of generator bases and respective counters.

Compilation flags:
dynamic
Template:
base_(Base,Counter)
Mode and number of proofs:
base_(?atom,?integer) - zero_or_more

Operators

(none)