أنشئ نوع مجموعة مخصصًا.
أحيانًا يكون من الضروري تعريف بنية بيانات مخصصة من نوع ما، مثل المجموعة. في هذا التمرين ستُعرِّف مجموعة خاصة بك. لا يهم كيف تعمل من الداخل، ما دامت تتصرف مثل مجموعة من العناصر الفريدة.
لإكمال هذا التمرين، عليك إنشاء نوع البيانات CustomSet، مع نسختَي Eq وShow، وتنفيذ الدوال التالية:
deletedifferenceemptyfromListinsertintersectionisDisjointFromisSubsetOfmembernullsizetoListunionستجد إعلان بيانات وهميًا وتوقيعات الأنواع جاهزة بالفعل، لكن الأمر متروك لك لتعريف الدوال وإنشاء نوع بيانات ذي معنى، أو newtype أو مرادف نوع.
إن كنت مهتمًا بكتابة تنفيذ فعّال لكنك لا تعرف تمامًا من أين تبدأ، فأفضل مقدمة أعرفها هي كتاب Chris Okasaki بعنوان "Purely Functional Data Structures"، ويمكنك قراءة نسخة منه هنا: https://www.cs.cmu.edu/~rwh/theses/okasaki.pdf
سجّل في Exercism لتتعلّم وتتقن Haskell عبر 107 تمارين، وإرشاد بشري حقيقي، وكل ذلك مجانًا.