Re[3]: CPS для свертки n-арного дерева
От: Mr.Cat  
Дата: 03.02.10 08:47
Оценка:
Здравствуйте, Mangar, Вы писали:
M>Меняется то, что, когда я вызываю i-го потомка, мне надо передать в него функцию континуации, которая состоит из вложенных лямбд с параметрами от i-го до n-го и вызовов от (i+1)-го до n-го, а в самой глубине собрать все аргументы всех лямбд в одну последовательность (seq), и передать ее в функцию обработки вершины.
M>Я что-то как-то не въезжаю, как подобное выглядит.
Не, как-то это не так выглядит. По идее, тебе нужно перевести в cps по отдельности все используемые тобой функции (начни с map). Ты увидишь, что длинная континуация строится не сразу, а просто увеличивается при каждом вызове. Например, в вызов fold, который внутри map передается континуация вида "вернись сюда и продолжи делать map".
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.