# 032: Ord インスタンスの定義を minimum complete definition に [↑up](bunny_notes) - issued: 2020-04-15 - 分類: 分類:C 改善項目 - status: Closed (2020-04-19) ## 調査ログ ### 2020-04-15 instance Ord Char where ... などから、(<=) 以外のメソッド定義を消すと、 型エラーになっていた。 不思議だったが、デフォルト実装で生じる compare で Ordering の比較 (Eq) が必要になるが、Ordering が Eq クラスになっていなかったのが原因。 (いまは、まだ、deriving ... は効かない) そこで、明示的に instance Eq Ordering where ... と lib/Prelude.hs 中で定義した。 この過程で、いくつかバグを発見したので、それらは別 issue とする。 - [034](bissue034): myeq.hs, myeq2.hs で matchVarCon error: ([PWildcard,PWildcard],OtherExpression (Const ("Prim.False" :>: Forall [] ([] :=> TCon (Tycon "Bool" Star))))) - [035](bissue035): myeq3.hs がランタイムで Error: Non-exhaustive patterns. - [036](bissue036) deriving 構文をサポートする - [037](bissue037) ともかく Ord Ordering を書く 本件は、いらなくなった Prim.integerGe などを削除したらクローズとする(未)。 ### 2020-04-19 Char, Int, Integer の Prim.<, >=, > を削除した(Predefined.hs と runtime/Prim.java から) クローズ。