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