61

Haskell には、seq任意の型の引数を取り、それをWeak Head Normal Form (WHNF) に還元するという名前の魔法の関数があります。

「ポリモーフィックは悪い」と主張するいくつかの情報源を読みました[彼らが誰だったか覚えていません...]。seq彼らはどのような点で「悪い」のですか?

同様に、rnf引数を正規形(NF) に簡約する関数があります。しかし、これはクラス メソッドです。任意の型では機能しません。言語仕様を変更して、seq. これは、おそらく、ただ持っているよりも「さらに悪い」でしょうseq。これはどういう経緯で?

最後に、 、 、および類似のものに、現在の関数ではなく、関数と同じ型を与えることが改善になるだろうと誰かがseq提案rnfしましparた。どうして?idconst

4

2 に答える 2

11

別の反例がこの回答seqに示されています-モナドはと でモナド法則を満たさないundefined. そしてundefined、チューリング完全な言語では避けられないため、責任があるのはseq.

于 2012-10-11T18:02:37.773 に答える