- xhl_kogitsune
- 26173
- 2
- 40
- 3
完全な型推論よりも、型システムの表現力が重要である、という考えは多分OCamlとは相容れない。そこがOCamlとHaskellの決定的な差であって、PureとかLazyとかの違いはそれに比べれば割りとどうでもいい。
2012-03-26 14:24:35RT @tanakh 完全な型推論よりも、型システムの表現力が重要である、という考えは多分OCamlとは相容れない。そこがOCamlとHaskellの決定的な差であって、PureとかLazyとかの違いはそれに比べれば割りとどうでもいい。
2012-03-26 14:36:35.@camloeba 横からすいません。正しい OCaml プログラムには、型シグニチャのような補助情報がなくとも、型が付けられる完全性があると思っていましたが、違うのですか?
2012-03-26 14:42:40@kazu_yamamoto format の型付けは全く完全ではありません。これは caml-light の時代からの伝統で、別に完全性にこだわっている言語ではない事は明らかです。
2012-03-26 15:07:32もちろん、 OCaml の型推論は完全です (キリッ と我々が言うときは format の事は都合よく忘れているわけです。ヒドいですね!
2012-03-26 15:13:46.@camloeba 「お前なんか unsafePerformIO があるくせに」と言われたら「お前こそ format あるくせに」と言い返せばいいんですね。:)
2012-03-26 15:21:20OCaml は今の所 non-parametric polymorphism を採用していない。ですからHaskell のような principal typing の喪失のようなことはない。主型付けがあるならそれを推論しようとするのは当たり前の事で、こだわっている事ではありません
2012-03-26 15:21:58@kazu_yamamoto はい。Obj.magic は「公式に」Camlの一部ではないと宣言されていますから、magic を指摘しても意味ないです
2012-03-26 15:24:07逆に Haskell は type class によるオーバーロードを入れたから主型付が無くなるのは当たり前で型推論は完全ではなくなります。だが、それ以外の部分は「完全」ですよね?そうじゃなきゃ不便だ。そういう点で両者ともできる限りの推論にはこだわっている
2012-03-26 15:32:17.@camloeba Haskeller の主観としては、OCaml の format は無視できるほど小さいので完全と言ってもいいけど、Haskell の型クラスは無視できるほど小さくないので不完全と表現したくなるのでしょう。
2012-03-26 15:40:39皆さんの言う言語Xの型推論は完全って何ですか? 推論が undecidable であるものはどうしようもない。そこを除いた完全性の議論をしたいのではないの?それらの推論まで完全性に入れるなら SMLモジュールやら多相再帰のある OCaml なんか完全でも何でもないのよ
2012-03-26 15:56:24なんか日本の Haskellers の中に実在しない不思議な OCaml 感が醸成されているようなので心配です。もう少し触って正しい dis り方を学んでください。このままだと議論が噛み合わない。
2012-03-26 16:27:56ぼくはOCamlは触ったことほとんどないので「構文があまり好きではない」以外のdisりをしたことないし、構文を云々するdisは特に真面目に取り合う人間はいないだろうし安心している
2012-03-26 16:29:13それは違うよ。Haskellでは主要性が保たれる。失われるのは直感的な型システムに対する完全性。 RT @camloeba 逆に Haskell は type class によるオーバーロードを入れたから主型付が無くなるのは当たり前で型推論は完全ではなくなります。
2012-03-26 16:45:48あらあらこいつはまいったね RT @garriguejej それは違うよ。Haskellでは主要性が保たれる。失われるのは直感的な型システムに対する完全性。 RT @camloeba 逆に Haskell は type class によるオーバーロードを入れたから主型付が無く
2012-03-26 16:47:53@camloeba 要するに主型付けがないのに直感的な型付けが存在したりする。しかし Haskell の型推論はそれを排除(しようと)するので、主要性自体は保たれる。少なくとも拡張し過ぎなければ。
2012-03-26 16:48:11間違ってはいない。確かに直感的な型システムは主要性を持たない。ただし、即 Haskell が主要性を持たないことにはならない。 RT @camloeba 私は直感的な完全性が無いことを主要型が無いと書いておりましたが違う?
2012-03-26 16:52:49@camloeba ちなみに、厳密に言えば、 OCaml も主要性を持たない。しかし原因は多相メソッドやラベル付き引数で、 type class ほど必須なものではありません。また、主要性を持つ(直感的でない)型システムは存在する。
2012-03-26 16:55:15そうですね。 OCaml はたとえ主要性がなくても、評価には影響しないので深刻ではない。しかし Haskell でそういうものを許してしまうと意味に曖昧性が出てくる。 RT @camloeba ああcoherence?!!
2012-03-26 16:57:48