Concurrent Clean : CleanJ : ycomb

OptEnvのycombが、次のようにコンパイルされる。

ycomb :: !((.a -> .b) .a -> .b) -> (.a -> .b)
ycomb g = let f = g f in f
.export e_OptEnv_sycomb
.export e_OptEnv_eaycomb
.descexp e_OptEnv_dycomb e_OptEnv_nycomb e_OptEnv_lycomb 1 0 "ycomb"
.o 2 0
e_OptEnv_lycomb
	update_a 1 0
	create
	update_a 0 2
	pop_a 1
.d 2 0
	jmp e_OptEnv_eaycomb
.n 1 e_OptEnv_dycomb e_OptEnv_eaycomb
.o 1 0
e_OptEnv_nycomb
	push_node _cycle_in_spine 1
.o 2 0
e_OptEnv_eaycomb
	jsr_eval 0
.o 2 0
e_OptEnv_sycomb
.o 2 0
s1
	push_a 1
	push_a 1
	fill e_system_dAP 2 e_system_nAP 3
	pop_a 1
	jmp_eval

今度は、このfill命令で詰まる。