object

# gensym

> Predicates for generating unique atoms. Object protocol based on the "gensym" module of SWI-Prolog.

author:
  `Paulo Moura`
version:
  `1.01`
date:
  `2011/11/9`

compilation flags:
  `static, context_switching_calls`

(no dependencies on other files)

## Public interface

### reset_gensym/0

> Resets the generator counter for all bases.

compilation flags:
  `static, synchronized`
mode – 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 – 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 – number of proofs:
  `gensym(+atom,-atom) – one`

## Protected interface

(none)

## Private predicates

### base_/2

> Table of generator bases and respective counters.

compilation flags:
  `dynamic`
template:
  `base_(Base,Counter)`
mode – number of proofs:
  `base_(?atom,?integer) – zero_or_more`

## Operators

### (none)

## Remarks

### (none)