機能します。手伝ってくれますか?コメント欄で述べたように、より興味深いものにするために型を変更ランク3種類は、私はこのランク3種類の関数定義を持っている例
0
A
答えて
3
f3 :: ((forall a. a -> a) -> Int) -> Bool -> Bool
f3 f b = (f id == 3) && b
f3_ex :: Bool
f3_ex = f3 f True where
f :: (forall a. a -> a) -> Int
f g = g 3
:
f4 :: ((forall a. a -> a -> a) -> Int) -> Bool -> Bool
f4 f b = (f const == 3) && b
f4_ex :: Bool
f4_ex = f4 f True where
f :: (forall a. a -> a -> a) -> Int
f g = g 3 5
f5 :: ((forall a. a -> a -> a) -> Int) -> Bool -> Bool
f5 f b = f (if b then const else const id) == 42
f5_ex :: Bool
f5_ex = f5 f True where
f :: (forall a. a -> a -> a) -> Int
f g = g 3 5 + 39
ここf
は、タイプ(Int, Int)
本質的f const
によって与えられる第1成分とf (const id)
又はによって与えられる他のものです同等にf (flip const)
。
関連する問題
- 1. 高いランク付けimpredicative種類
- 2. 3種類
- 3. モバイルドキュメントの種類定義
- 4. 私はアドレスの2種類を持っているのPython
- 5. 私は、次のデータフレームを持っている年と種類
- 6. ウェブアプリケーション用の3種類のユーザー
- 7. 私は以下のような情報の3種類のセットを持つデータファイルを持っている
- 8. ckeditorフルページプレビュー用に3種類のボディスタイル
- 9. 3種類の衝突体? Swift3 + Spritekit
- 10. 関数の引数でエラーの種類を定義します。
- 11. 種類の不一致私はこのコードを持っているのXPages
- 12. は、特定の種類
- 13. Python-Configurationファイルの種類を取得してランク付けしますか?
- 14. Enumの種類Enumの種類
- 15. (.net)デザインの種類の種類
- 16. 複数種類
- 17. 種類は、「種類」タイプとのトラブルを有するタイプのラムダ
- 18. オブジェクトの種類の定義方法
- 19. archiveBaseNameは種類
- 20. JavaScriptオブジェクトの3種類の違いは何ですか?
- 21. サイトマップの種類は?
- 22. Mapbox GL描画スクリプトの種類定義
- 23. より高い種類の関数?
- 24. 3種類の日付を変換するには?
- 25. 、私はこの種類のPDFファイル名を持つファイル名内
- 26. C++ - 私は機能を持っているより多くの種類の
- 27. 種類
- 28. 種類
- 29. 種類
- 30. 種類
最初の引数をすべて無視します: 'f3 _ = id'。 – Alec
多少複雑ですが、おそらくすべてのパラメータが定義されています。 – Randomize
ここに、事があります。 a - > a 'は1つの(発散しない)メンバー: 'id'のみを持つ。それで '(for a a - > a) - > Int'の議論をするのは面白いことではありません。あなたはすでに' id'だけしか知りませんので、 '(forall a。a - > a ) - > Int'はある一定の関数でなければならない。 f3の興味深い(分岐しない)実装と 'f3 ':: Int-> Bool-> Bool'の実装の間には、双方向性があります。 – Alec