Единственное, что мне не нравится в Emacs - это отсутствие пространств имен, поэтому мне интересно, смогу ли я реализовать их самостоятельно.
Это - моя первая попытка, и очевидно, что я не могу просто заменить каждое совпадение имени его префиксной версией, но что я должен проверить? Я могу проверить привязки с помощью (let), а затем отметить все поддерево, но что если кто-то создаст функцию (my-let), которая использует let? Мое усилие обречено на провал? (
Кроме того, почему мои функции не могут определить функцию? Нужно ли запускать что-то похожее на intern-symbol на каждом новом токене?
Спасибо!