8:45p |
В PLT Схеме дебаггер работает только на одном файле. Это стало поводом написать ад хок мержер для модулей. А вообще, у меня период отрицания модульных систем и всяких там ООП.
В определённый момент попробовал тупо смержить модули в духе конкатенации инклюдов, как в Си. Но PLT позволяет только один модуль на файл, вот же долорес ибаррури.
Теперь мержер строит дерево зависимостей, списки символов (дефиниций), грузит рекурсивно модули (без дубликатов) и переименовывает (квалифицирует) каждый локально определённый символ. Задача упрощается тем, что можно почти без модификаций родной парсер использовать и претти-принт. Но всё равно, больше месяца заняло, наверное. Зато всяких рутин на списках / деревьях налабал. |