Поразительные костыли узрел в презентации по clojure (в данном случае это правда, скорее борьба с ними). Имеется специальная форма binding, которая может вызвать функцию, переопределив в ней локальную переменную.
ЭТО ПРОСТО НОВАЯ КОНЦЕПЦИЯ. НАДО СОЗДАТЬ НОВЫЙ ЯЗЫК С ТАКОЙ ВОЗМОЖНОМТЬЮ! СТОП! ЛУЧШЕ СОЗДАМ ПРОЕКТ НА КИКСТАРТЕРЕ!
ЭТО ПРОСТО НОВАЯ КОНЦЕПЦИЯ. НАДО СОЗДАТЬ НОВЫЙ ЯЗЫК С ТАКОЙ ВОЗМОЖНОМТЬЮ! СТОП! ЛУЧШЕ СОЗДАМ ПРОЕКТ НА КИКСТАРТЕРЕ!