В Incr Tcl я получаю повышение производительности программирования за счет изменения и повторной оценки методов класса в работающем интерпретаторе Tcl без перезапуска приложения. Для этого мне нужно определить методы вне определения класса, используя body синтаксис и переоцените определение body в работающем интерпретаторе Tcl. Это прекрасно работает. Удивительно, и, по-видимому, намеренно, в Incr Tcl,
Класс можно определить только один раз, хотя тела методов и процессов класса можно определять снова и снова для интерактивной отладки.
Однако, естественно, во время разработки я разделяю методы (рефакторинг) на два или более дополнительных метода, которые должны быть определены в одном классе.
Я хотел бы найти способ принудительно добавить методы в существующий класс в работающем интерпретаторе Tcl:
- Без удаления и повторной оценки определения класса в работающем интерпретаторе Tcl,
- Без перезапуска приложения Tcl, которое содержит существующие экземпляры объектов классов Incr Tcl, подлежащих дополнению, и
- Без результата, что существующие объекты удаляются из указанного интерпретатора Tcl.
Мне это нужно исключительно как ритуал разработки/отладки, а не для производственного кода (т.е. мне не нужно динамически добавлять методы программно). Я буду принимать скользкие, злые, закулисные ответы. Изменение рабочей копии Incr Tcl для добавления дополнительного поведения нецелесообразно, так как двоичные файлы Incr Tcl, которые мне приходится использовать, к сожалению, статически привязаны к работающему процессу и не могут быть выгружены и перезагружены с помощью какого-то колдовства общей библиотеки.