- xhl_kogitsune
- 26193
- 2
- 40
- 3
@garriguejej ああ良かった… びっくりした 主要性がある完全なシステムは dispatch が陽に出てきたレベルの話ですか?
2012-03-26 16:58:31@camloeba だから最近のような Outside In というある意味でとても弱い型システムが出て来た。あれでは多相関数の型が推論できない。Haskell では型を書く習慣があるのでなんとかなるけど、 ML でそんなことしたら大問題のような気がする。
2012-03-26 17:01:22そう。Alainから彼らのコードが -principal 付きでコンパイルできないと聞いてショックを受けた。型システムの進んだ機能を使うなら、たまに使って欲しいものだ。 RT @camloeba 謎の ocamlc -principal
2012-03-26 17:04:03Haskell 書いてるときは OCaml 使いたいし OCaml 書いてるときは Haskell 使いたい。というのが今の私の心境です
2012-03-26 17:14:00いや、単に曖昧な場合を発見して、そういうときはエラーにするだけだったと思う。 QT @camloeba 主要性がある完全なシステムは dispatch が陽に出てきたレベルの話ですか?
2012-03-26 17:14:41See also: Outside In http://t.co/fPpSc3xw http://t.co/HGQ5vUn9 Let generalisation in GHC 7.0 http://t.co/EDMMw6Ug #readghc
2012-03-26 17:16:46なお、"Let generalisation in GHC 7.0" に書いてありますが、Outside In の多相関数の型が推論できないという制限は GHC 7.4.1(や 7.2.x)では緩和されています。 http://t.co/F6TM4pT7 #readghc
2012-03-26 17:22:34作っているんだよw でも仕事と子育て優先 RT @wasabiz HaskellみたいなOCamlつくればええやん
2012-03-26 17:23:31Haskell の場合は完全ではないと思う。やはり彼らは主要性を ML とちょっと違う意味で使っています。 QT @camloeba はて?では、その完全な奴はどのレイヤで定義されてるの?
2012-03-26 17:25:30@camloeba ML でいう主要性は、もしも型が付くものがあれば、主要な型が存在する。 Haskell の主要性は、もしも主要な型がなければ、主要でない型を排除する。頑張ると主要性っぽい定義ができるが、自己言及的な感がある。そして主要な場合の発見について完全ではないはずだ。
2012-03-26 17:31:07@camloeba ちなみに principal typing と principal types は違う、ML は後者、前者は intersection type がないとできない。(突っ込みばかりでごめん)
2012-03-26 17:55:32@tanakh OCaml だって完全性と色々妥協しているよ。そして Haskell にない型も色々持っている。今になって overloading がないことはかなり重要な気がする。型を考えない意味論が可能だ。しかし、型インデクスの導入も時間の問題か。
2012-03-26 18:02:28OutsideIn(X)で多相関数の型を推論できないっていうのは厳密じゃなくて、letで定義されるローカルな関数に関してのみ多相的に推論しないって言うが厳密かな。トップレベルに定義される関数は多相な型を持つように推論されるから。
2012-03-26 18:59:04そしてOutsideIn(X)でローカルな関数は多相的に推論しなくても問題なっていうことを言うためにhaskellのライブラリを調査して、結論をだしているから、他の関数型言語でもそうしてもあんまり問題ないと思う。
2012-03-26 19:01:01TypeClassによって型システムにもたらされた複雑さもあれだけど、個人的にはGADTの方が型システムにもたらした影響はでかい感じがするな。一部の型推論を遅延しないといけなくなるんだぜ!あいつのせいで。
2012-03-26 19:04:29型推論なんて、制約の生成の後にsyntactic unificationをするだけの簡単なお仕事だったのに、GADTのせいで型推論自体も複雑になるし、型システムの性質に関する証明も複雑になるし…
2012-03-26 19:06:48改造して確かめました。MLでは問題あり RT @takuchan そしてOutsideIn(X)でローカルな関数は多相的に推論しなくても問題なっていうことを言うためにhaskellのライブラリを調査して、結論をだしているから、他の関数型言語でもそうしてもあんまり問題ないと思う。
2012-03-27 13:58:10