gensym
процедура не определена ни в R6RS, ни в R7RS. Поэтому вам нужно импортировать его отдельно, если вы хотите использовать его в среде R6RS / R7RS, например:
(import (primitives gensym))
Возможно, лучше использовать процедуру generate-temporaries
, которая определена в (rnrs)
, возвращающем список временных идентификаторов. Вы можете использовать его для создания нового символа, подобного этому
(apply syntax->datum (generate-temporaries '(a)))
Это вернет список, который содержит только один символ в качестве элемента.