2006-07-23から1日間の記事一覧

末尾再帰とcontinuation passing style

文字列を逆順にする関数reverseは以下のとおり reverse [] = [] reverse (h:t) = (reverse t) ++ [h]空のときは逆順も空、何かあるときは、全体を頭と残りにわけ、残り側を逆順にしたものの後ろに頭を付け足す。これは末尾再帰ではない。なぜなら内側のrever…