দেখে মনে হচ্ছে যে কোনও বাউন্ডেড উদাহরণটির এনামের বুদ্ধিমান বাস্তবায়ন হওয়া উচিত। আমি ব্যক্তিগতভাবে কাউন্টারেরেক্সাম্পলটি ভাবতে পারি না, যদিও কেউ যদি এমন কোনও রোগ নিয়ে আসে যা রোগগত নয় তবে আমি কেন বুঝতে পারি তা কেন তা নয়।
:i
দুটি টাইপ ক্লাসে কাজ করা থেকে মনে হয় বর্তমানে স্ট্যান্ডার্ড লাইব্রেরিতে একমাত্র ব্যতিক্রম টিউপলসের জন্য রয়েছে, যা সীমান্তযুক্ত তবে এনুমস নয়। যাইহোক, যে কোনও বাউন্ডেড টিউপলকে অবশ্যই চূড়ান্তভাবে গণনা করা উচিত, কেবলমাত্র সর্বশেষ উপাদানটিকে বাড়িয়ে তোলা এবং তারপরে যখন এটি ম্যাক্সবাউন্ডে যায় তখন চারপাশে মোড়ানো।
এই পরিবর্তনটি সম্ভবত এনাম মানগুলি অতিক্রম করার জন্য নিরাপদ / লুপিং পথের জন্য বাউন্ডেড যুক্ত predB
এবং এর nextB
মতো কিছু অন্তর্ভুক্ত করতে পারে । এই ক্ষেত্রে toEnum 0 :: (...)
সমান হবে(toEnum 0, toEnum 0, ...) :: (...)
Double
/ Float
এবং সমস্ত অনুরূপ প্রকারভেদ Enum
যেভাবেই বাস্তবায়িত হয়, তারা কেবল তৈরি করে succ = (+ 1)
এবং fromEnum = truncate
। হাস্কেলের উপায়টি বাস্তবে বাস্তবতার দৃষ্টিকোণ থেকে বোঝা যায় অন্যথায় [0, 0.5 ..] এবং এর মতোই কাজ করবে না, তাই মনে হচ্ছে হাস্যেল এনাম্সের ক্ষেত্রে গণ্যতার বিষয়ে চিন্তা করেন না।