Из строки документации:
Выполняйте BODY только до тех пор, пока нет ожидающих ввода.
Если поступает ввод, это завершает выполнение BODY иwhile-no-input
возвращает t. Выход заставляет его возвращать ноль. Если BODY завершает работу,while-no-input
возвращает любое значение, произведенное BODY.
Если я правильно понимаю, этот макрос позволяет мне (пытаться) выполнять тяжелые вычисления без зависания интерфейса. Это, безусловно, концепция, которая мне кажется привлекательной, но мне остается только задуматься, когда это полезно на практике.
Кажется, что вычисления могут быть прерваны в любой момент, без информации о том, где это произошло, и нет простого способа возобновить его позже. Что заставляет меня думать, что это может быть не очень полезно в конце концов ...
- Есть ли рекомендуемый способ использования
while-no-input
макроса? - Есть ли примеры использования этого макроса в дикой природе?