r3 - 25 Sep 2004 - 00:29:17 - Andrei MishchenkoYou are here: TWiki >  XSG Web > WhatIsLazy

Что такое ленивость?

Следует помнить, что у нас язык справедливый и недетерминированный. Ну и что же такое ленивость в этом случае?

-- Yuri Klimov - 20 Sep 2004

С точки зрения программиста, ленивость означает возможность оперировать с (потенциально) бесконечными данными. На уровне семантики вряд ли можно сказать что-то более определенное.

Если же спуститься до деталей реализации, то можно уточнять дальше. По моему, ленивость это в точности алгоритм NEEDS. Наконец-то стало более менее понятно что он делает. Раньше про результат его работы говорилось что-то неопределенное типа "это те переменные, которые нам сейчас нужны... ну не то чтобы все они точно нужны, но какая-то из них точно нужна... но мы не знаем какая... зато среди них нет ни одной, про которую мы бы точно знали что она не нужна... пока не нужна..." можно дальше продолжать в том же духе. Потом Юра придумал, что ветку нужно выбирать заранее, до того как выяснилось можно по ней ходить или нет. Теперь NEEDS -- все нужны. Мы больше не ставим вопрос "верна ли система клэшей?", теперь вопрос ставится так "когда верна система клешей?". Отрицательный ответ не принимается :), поэтому все NEEDS точно нужны. Это лишний повод форсировать все множество NEEDS за один шаг драйвинга.

-- Andrei Mishchenko - 20 Sep 2004

Я наконец понял что такое ленивость! Ну, вроде того. Пусть есть два интерпретатора, оба справедливых, но один ленивый, а другой нет. Тогда каждый из них найдет все ответы. Какая же разница? А вот какая, ленивый не только их все найдет, но и, если их конечное количество, поймет, что нашел все.

-- Andrei Mishchenko - 24 Sep 2004

Edit | WYSIWYG | Attach | Printable | Raw View | Backlinks: Web, All Webs | History: r3 < r2 < r1 | More topic actions
 
Powered by TWiki

This site is powered by the TWiki collaboration platformCopyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback