このブログは、旧・はてなダイアリー「檜山正幸のキマイラ飼育記 メモ編」(http://d.hatena.ne.jp/m-hiyama-memo/)のデータを移行・保存したものであり、今後(2019年1月以降)更新の予定はありません。

今後の更新は、新しいブログ http://m-hiyama-memo.hatenablog.com/ で行います。

letとletrec

letとletrecを区別しないで、単にletと書いてletrecの意味でいいじゃないか、と思っていたが、そうじゃないな。

let {x = y, y = x} in x は意味があるが、letrec {x = y, y = x} in x はワケワカラン。letを単なる置換演算子と考える発想は余りなかったのだけど、再帰とは一切関係なしのletを使うのは便利かもしれない。

僕が今まで考えていたletは実はletrecなので、表記法は考えなおさないといけないな。let, letrec, where, whererec とか使うのか? 他にmoduleとかget fromとか考えていて、

  • get x form (module X) = letrec X in x

が基本。