> как откуда? если возврат значения - всегда вызов каллбека, то пропуск > вызова каллбека приводит к тому что кто-то ждет результата и никогда > не дождется. > > и эти вещи в большом проекте КРАЙНЕ сложно отлаживаются. даже с > хорошим набором тестов бывает сложновато уследить за этой проблемой.
Это как раз одно из преимуществ CPS перед.. ничем :) Ошибка зависит от входных данных функции. Если писать в лог в какую функцию зашли, то можно даже без тестов, всегда будет видно где застряли. > в CPS тебе ошибки тоже надо как-то обрабатывать. по мере возрастания > сложности захочется два каллбка: результатов и ошибок. и начнется та > же фигня "где-то так, где-то сяк" Как бы не делали, но это всегда функция, которая возвращает результат в следующую, иначе это уже не CPS. > ведь ошибку не выявишь в первоначальной функции. ошибки как правило > выясняются в каком-то глубоком месте. Глубокое место в CPS -- тоже функция http://en.wikipedia.org/wiki/Continuation-passing_style -- Moscow.pm mailing list [email protected] | http://moscow.pm.org
