require, fold-right等
MzSchemeでの話。
rnrsをインクルードするのにimportでなくて
(require rnrs/mutable-pairs-6)
とか
(require rnrs)
のようにするみたい。
importとrequireの仕様をレファレンスで確認しよう。
Schemeではfoldrとfoldlの定義がhaskellなどの定義と違う。
haskell流のfoldr,foldlは、fold-right,fold-leftとなる。
rnrs/mutable-pairs-6が必要。
でも、(cons `() `x)と(cons `x `())が一致しないので、リストがモノイドにならない。。。
やっぱりhaskellがいいのかなぁ。
追記(3/20):appendならどうかとやってみたが、やはり空リストが単位元になってくれない。