2003-11-02 [長年日記]
λ. What Languages Fix
おまぬけ活動日誌(2003-10-31) より。面白すぎ。ついでに幾つか考えてみる。
- ML
- Lisp is not type-safe
- Haskell
- ML is not pure
- Clean
- Monads are scary
【2007-02-15 追記】
らいおんの隠れ家 - ポール・グレアム「プログラミング言語が解決するもの」 で日本語訳されている。
あと、Cleanについて「Monads are scary」と書いたが、
CleanとHaskellの宣言スタイルの違い と
Concurrent Clean : FGRS vs. lambda calculus
あたりの話から、それは本質ではない気がしてきた。
λ. 借りた本
- 小説すばる 2003年2月号
- -
- 『シャイニング 上』
- スティーヴン・キング(Stephen King)[著], 深町 真理子 [訳]
- 『R.O.D 第5巻』
- 倉田 英之 [著], 羽音 たらく [イラスト]
- 『水素エコノミー — エネルギー・ウェブの時代』
- ジェレミー・リフキン(Jeremy Rifkin) [著], 柴田 裕之 [訳]
λ. 順序対
順序対(a,b)を集合にエンコードする時には通常{a,{a,b}}という表現を使うそうだ。けど、この表現だと a = {b,1}, b = {a,0} とおいたときに、(a,0) = {a,{a,0}} = {a,b} = {{b,1},b} = {b,{b,1}} = (b,1) となってしまい、(a,0)と(b,1)の区別がつかなくなってしまう。well-founded な集合だけを扱ってる場合には問題にならないけど、これってどうなんだろう?
……というようなことを、例の集合クラスでストリームとかを表現してて思った。
【2005-10-23追記: この件に関して、白のカピバラの逆極限 S144-3のnucさんがより詳しいことを書いている。http://d.hatena.ne.jp/nuc/20051007/p4 と http://d.hatena.ne.jp/nuc/searchdiary?word=*[順序対] を参照のこと。】
{a, {a, b}} じゃなくて {{a}, {a, b}} ですよ。FA は必要ない。
あ、それなら全然問題ないですね。<br>うわぁ、恥ずかしいことを書いてしまった。