- kazu_yamamoto
- 7737
- 0
- 12
- 1
適切な説明は「Haskell では型を簡潔に書けるので、トップレベルの関数には書きましょう。ローカル関数は、(型推論があるので)型は書かなくてもいいでしょう。」でしょうね。
2011-05-02 18:26:33「動的型付けだと、型を書かなくてもよく、コードがすっきりするので、バグは入り込みにくい」という主張には、型を書くのは面倒だという思い込みがあるんですね。
2011-05-02 18:27:54ありえねー、参考までにソースはありますか? QT @kazu_yamamoto: 「動的型付けだと、型を書かなくてもよく、コードがすっきりするので、バグは入り込みにくい」という主張には、型を書くのは面倒だという思い込みがあるんですね。
2011-05-02 18:36:32ウィキペか…まったくだな QT @kazu_yamamoto: .@camlspotter ここに、そう書いてありました。 http://goo.gl/rFlbl
2011-05-02 18:54:17厳密に型検査と言うときには推論は入っちゃいけないと思います QT @kazu_yamamoto: 型検査とは、外部から推論した型と内部から推論した型が一致するか確かめること。で、OK?
2011-05-02 19:18:14.@camlspotter 関数の型が書かれていないとき、その関数の外部からの型は、使われる文脈から推論して決めるのではないですか?
2011-05-02 19:21:38Γ |- e : τ が与えられたときそのデリベーションを探すのが型検査。Γ と e が与えられたときに型検査に通るような τ を探すのが型推論。嘘だったらゴメンナサイネー;;
2011-05-02 19:23:40それは型推論してるじゃないですか。 QT @kazu_yamamoto: .@camlspotter 関数の型が書かれていないとき、その関数の外部からの型は、使われる文脈から推論して決めるのではないですか?
2011-05-02 19:27:11私的にはバッキバキに型がアノテーションとして付けられてるコードを見て、うん、おかしなところは無いね、安全だね、というのが型検査です;;
2011-05-02 19:29:21たとえば C は型検査がありますが、型推論はない。x の型がわかってれば *x の型は自明とか、そういうのはバッキバキの内でお願い致します;;
2011-05-02 19:31:45@kazu_yamamoto たぶんWikipediaの記述を直されようとしているのですよね?「型による制限を検証し、実施する処理は型検査と呼ばれ、」は「型付けされたプログラムが型付け規則に従っているかを検証する処理は型検査と呼ばれ」くらいでどうでしょう?
2011-05-02 19:31:56QT @camlspotter: 一方 (λx.x) "hello" と書かれているときに、うーん、取り敢えず x は文字列ですかねえ、というのは型推論してる。(こういうとき 42 とか書くとハスケルの人がメンドイ(ノ≧∀≦)ノ;;
2011-05-02 19:36:44型推論が健全なら型検査は必要ないっ!!(キリッ QT @kazu_yamamoto: .@camlspotter えー。すると、OCaml には型推論はあるが、型検査はないのですか?
2011-05-02 19:38:36