5
正確には次のようなことが起こっていますか?ηの削減によって関数の型が変更できるのはいつですか?
> let test = map show
> :t test
test :: [()] -> [String]
> :t (map show)
(map show) :: Show a => [a] -> [String]
私はこれに気付かなかったのですか?私は実際に "map fromIntegral"を表示するのではなく、問題を抱えていました。私のコードはpointfree形式ではコンパイルされませんが、ηの削減なしでうまく動作します。
エスカ削減がHaskellコードの意味を変えることができるのは簡単な説明はありますか?
は、WOW、私は申し訳ありませんが、知られている必要があります。私は言語プラグマを試したこともありましたが、ハッシュ記号を含めるのを忘れていました。そして、GHCは "考えられる原因"についていつものことを言っていませんでした。 – sacheie
正確には、GHCiの拡張デフォルトルールと組み合わせた単相性制限です。 – sepp2k