Как стать автором
Обновить

Комментарии 2

Я не понял, зачем это может быть нужно. Я не спец в системе модулей Scheme, и не понимаю, что такое "динамическая подгрузка" модулей, но разве модуль - это не набор define-ов, которые все одновременно попадают в область видимости? Если функция инициализации попала в область видимости, то и всё остальное содержимое модуля тоже попало.

Я догадываюсь, что это может быть полезно во всяких макросах.

Ну вот вы, например, исправили какой-то модуль, получилась новая версия, которую вы хотите использовать в своей программе. А всю программу ради этого останавливать и перезапускать не хотите. Хорошо бы, чтобы новая версия модуля могла начать работать с того состояния, в котором находилась старая, а не с момента инициализации. Поэтому инициализацию делать не хочется, ведь эти переменные уже есть в рабочей памяти программы (и лексической области видимости), и имеют какое-то актуальное на данный момент состояние.

Конечно, если программа у вас быстренько что-то посчитала и выдала результат, то такая постановка вопроса неактуальна. Но, например, систему управления большим комплексом оборудования перезапустить – это целое организационное мероприятие, которого хотелось бы избежать.

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории