Concurrent Clean : CleanJ : 正格リスト

「_Nil」は全て共通
各種Cons

_Consi
_Consr
_Consc
_Consb
_Consf
_Consa
_Consits
_Consrts
_Conscts
_Consbts
_Consfts
_Conssts

えっと、これ1つ1つ書くのか?
めんどいな・・・

      • -

_Consaは配列のリストみたい。
実装上、どのような違いをつけるべきかが不明なため、とりあえず、普通の _Cons で代用する。

      • -

正格リストの命令の対応
「[!1,2,3]」

	buildh _Nil 0
	buildI 3
	buildh _Cons 2
	buildI 2
	buildh _Cons 2
	buildI 1
	buildh _Cons 2

「[!4,5,6!]」

	buildh _Nil 0
	buildI 6
	buildh _Cons 2
	buildI 5
	build _Conssts 2 n_Conssts
	buildI 4
	build _Conssts 2 n_Conssts

「[#1,2,3]」

	buildh _Nil 0
	pushI 3
	build_r _Consi 1 1 0 0
	update_a 0 1
	pop_a 1
	pop_b 1
	pushI 2
	build_r _Consi 1 1 0 0
	update_a 0 1
	pop_a 1
	pop_b 1
	pushI 1
	build_r _Consi 1 1 0 0
	update_a 0 1
	pop_a 1
	pop_b 1

「[#4,5,6!]」

	buildh _Nil 0
	pushI 6
	build_r _Consits 1 1 0 0
	update_a 0 1
	pop_a 1
	pop_b 1
	buildI 5
	build e__SystemStrictLists_d_cons_uts;35 2 e__SystemStrictLists_n_cons_uts;35
	buildI 4
	build e__SystemStrictLists_d_cons_uts;35 2 e__SystemStrictLists_n_cons_uts;35
      • -

ずれてたので修正。