Есть макрос, который должен создавать функцию.
(defmacro build (info) `(lambda ...))
Текст функции зависит от содержимого структуры info.
Где-то в коде он многократно вызывается с разными параметрами. Можно ли как-то сделать, чтобы он при первом запуске где-то создавал функцию, а при последующих только ссылался на неё? То есть нужен механизм, аналогичный инстанциированию шаблонов C++.
Есть какие-нибудь идеи, как сделать? Реализация лиспа (CL, Scheme, ...) не важна.