Herhangi bir Sınırlı örneğin Enum'un aklı başında bir uygulaması olmalı gibi görünüyor. Şahsen bir karşı örnek düşünemiyorum, ancak eğer birisi patolojik olmayan biriyle gelirse, neden böyle olmadığını anlayacağım.
:i
İki tip sınıfta yaptığından , şu anda standart kütüphanede tek istisna, Sınırlı olan ancak Numaralandırmalar olmayan tuples için olduğu görülüyor. Bununla birlikte, herhangi bir Sınırlı demet, son öğeyi arttırarak ve sonra maxBound'a geldiğinde etrafa sararak akılcı bir şekilde Numaralandırılabilir olmalıdır.
Bu değişiklik muhtemelen de ekleyerek yer alacağı predB
ve nextB
Numaralandırma değerlerine boyunca hareketlerini yol döngü / kasanın veya sınırlandırılmış için öyle bir şey. Bu durumda toEnum 0 :: (...)
eşit olacaktır(toEnum 0, toEnum 0, ...) :: (...)
Double
/ Float
ve tüm benzer türler Enum
yine de uygulanır , sadece succ = (+ 1)
ve yaparlar fromEnum = truncate
. Haskell'in yolu aslında pratik bir perspektiften mantıklıdır, aksi halde [0, 0.5 ..] ve benzerleri işe yaramaz, bu yüzden Haskell Enum söz konusu olduğunda sayılabilirlik konusunda endişelenmiyor gibi görünüyor.