Доброго всем!
Привык к CL, а тут, похоже, придётся осваивать Scheme.
Вопрос следующий. Имеется chicken. Можно ли сделать средствами самого языка пользовательские пр-ва имён?
Мне кажется, что да. В chicken есть define-macro, значит, вроде бы получается, что можно. Определяем макрос "with-namespace", который принимает произвольное дерево, ходит по всем символам и делает замену. REPL подменяем своим, функции read и print - тоже. Сами пр-ва имён моделируем с помощью хеш-таблиц.
Соответственно, функцию print придётся тоже переписать, аналогичным образом.
Естественно, нужно не просто продемонстрировать возможность, а чтобы с этим можно было нормально работать. Обычно так бывает, что когда добавляешь какую-то фишку, при этом отваливается что-то, что раньше работало. У кого есть какие соображения на этот счёт? Может быть, кто-то это уже сделал?