ELF>0@@Þ:- module(gensym, [gensym/2, reset_gensym/1]). :- use_module(library(error)). :- use_module(library(si)). gensym_key(Base, BaseKey) :- atom_concat('gensym_', Base, BaseKey). gensym(Base, Unique) :- must_be(var, Unique), atom_si(Base), gensym_key(Base, BaseKey), ( bb_get(BaseKey, UniqueID0) -> N is UniqueID0 + 1 ; N is 1 ), atomic_concat(Base, N, Unique), bb_put(BaseKey, N). reset_gensym(Base) :- atom_si(Base), gensym_key(Base, BaseKey), bb_put(BaseKey, 0). GCC: (OpenIndiana 14.3.0-oi-0) 14.3.0ñÿ   Þgensym.clibrary_gensym_pl_lenlibrary_gensym_pl.symtab.strtab.shstrtab.text.data.bss.comment@!@þ '>,0>'h`  È2 ú5