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ならどうかとやってみたが、やはり空リストが単位元になってくれない。