>>315-316
> Lisp は TCO が保証されていないから

TCOが保証されての末尾再帰。何がすがすがしいって、これですよね。
これがあるから書いていける。
保証なしで気軽に再帰なんかしてもスタックオーバーフローでげんなりだし。

> Haskell だと文字列は文字型のリストであり、標準ライブラリの unfoldl を

おったまげですね。初めてunfoldなるもんを知りました。
Rubyでinject、OCamlでfold_left/fold_rightは馴染みがあったんですが。
何かHaskellって…グイグイ来てますよね!(小学生並みの感想)。

> cata, ana, 圏論, 圏論でのリスト型の定義

リンク先拝見しましたが現時点でどうも1ミリも理解できていません。半笑いです。

> http://ideone.com/o5JM86

ありがとうございます。よく考えると37行目の「 ^ output」が不要にも見えますね。