なぜ[Char]
がOrd
のインスタンスで、Enum
のインスタンスではないのですか?なぜないsucc "a" == succ_a
-なぜ文字列は列挙型ではありませんか?
Prelude> let succ_a = "a" ++ [minBound::Char]
Prelude> "a" < succ_a
True
Prelude> succ_a < "a "
True
Prelude> succ_a < succ_a ++ [minBound::Char]
True
私は "A" とsucc_a
の間には文字列がありませんと思いますか?
実際、私は "a"と "aa"の間で多くの文字列を考えることができます。 「a_」、「a__」、「a____」、「a______」...無限の広告があります。 ( "_"はスペースでなければならない、btw) – Ord
ポイントを獲得しました。しかし、 "a" NULLである "a" ++ [minBound :: Char]の編集を参照してください - > "a"であり、<いずれの例でも " – gcbenison
あなたが提案している' Enum'インスタンスは有用ではありません。与えられた値から始まる列挙は '\ NULL'文字のより長い文字列のストリームを生成するだけで、実数値が再帰的に列挙できないのと同じ理由で有用な' Enum'インスタンスは提案できません。 –