387 |
387 |
388 val nn0 = length res_Ts; |
388 val nn0 = length res_Ts; |
389 val nn = length perm_fpTs; |
389 val nn = length perm_fpTs; |
390 val kks = 0 upto nn - 1; |
390 val kks = 0 upto nn - 1; |
391 val perm_ns = map length perm_ctr_Tsss; |
391 val perm_ns = map length perm_ctr_Tsss; |
392 val perm_mss = map (map length) perm_ctr_Tsss; |
|
393 |
392 |
394 val perm_Cs = map (domain_type o body_fun_type o fastype_of o co_rec_of o |
393 val perm_Cs = map (domain_type o body_fun_type o fastype_of o co_rec_of o |
395 of_fp_sugar (#xtor_co_iterss o #fp_res)) perm_fp_sugars; |
394 of_fp_sugar (#xtor_co_iterss o #fp_res)) perm_fp_sugars; |
396 val (perm_p_Tss, (perm_q_Tssss, _, perm_f_Tssss, _)) = |
395 val (perm_p_Tss, (perm_q_Tssss, _, perm_f_Tssss, _)) = |
397 mk_coiter_fun_arg_types perm_Cs perm_ns perm_mss (co_rec_of dtor_coiters1); |
396 mk_coiter_fun_arg_types perm_ctr_Tsss perm_Cs perm_ns (co_rec_of dtor_coiters1); |
398 |
397 |
399 val (perm_p_hss, h) = indexedd perm_p_Tss 0; |
398 val (perm_p_hss, h) = indexedd perm_p_Tss 0; |
400 val (perm_q_hssss, h') = indexedddd perm_q_Tssss h; |
399 val (perm_q_hssss, h') = indexedddd perm_q_Tssss h; |
401 val (perm_f_hssss, _) = indexedddd perm_f_Tssss h'; |
400 val (perm_f_hssss, _) = indexedddd perm_f_Tssss h'; |
402 |
401 |