Информация об изменениях

Сообщение Re[2]: Ленивость vs. вычисление когда доступны данные от 02.07.2015 17:10

Изменено 02.07.2015 17:15 VladD2

Здравствуйте, WolfHound, Вы писали:

WH>С побочными эффектами ты сильно погорячился.

WH>Эта модель их не допускает.

Очень даже допускает. И я их делал.
Re[2]: Ленивость vs. вычисление когда доступны данные
Здравствуйте, WolfHound, Вы писали:

WH>С побочными эффектами ты сильно погорячился.

WH>Эта модель их не допускает.

Очень даже допускает. И я их делал.

Тут главное, что побочные эффекты выполняются в ожидаемое время. В ленивой модели побочный эффект просто не выполнится, если самое вычисление не используется, а в этом выполнится.

Собственно как и в ленивой модели есть проблема с доступностью данных. Но тут очень просто разместить побочный эффект там где данные уже доступны.

Еще важно, что после такой модели значения становятся вычисленными и структуру данных, рассчитанную таким трудом (в нашем случае AST) можно анализировать обычным императивным кодом. В чисто ленивой модели мы бы это сделать не смогли, так как императивный код уже требовал бы произвести нужные вычисления.