একটি কাস্টম সেট টাইপ তৈরি করুন।
কখনও কখনও সেটের মতো কোনো এক ধরনের কাস্টম ডেটা স্ট্রাকচার তৈরি করা প্রয়োজন হয়। এই অনুশীলনীতে আপনি নিজের সেট নিজে ডিফাইন করবেন। ভেতরে এটি কীভাবে কাজ করে তা গুরুত্বপূর্ণ নয়, যতক্ষণ এটি অনন্য এলিমেন্টের একটি সেটের মতো আচরণ করে।
এই অনুশীলনীটি সম্পূর্ণ করতে, আপনাকে Eq ও Show ইনস্ট্যান্সসহ CustomSet ডেটা টাইপ তৈরি করতে হবে এবং নিচের ফাংশনগুলো ইমপ্লিমেন্ট করতে হবে:
deletedifferenceemptyfromListinsertintersectionisDisjointFromisSubsetOfmembernullsizetoListunionএকটি ডামি ডেটা ডিক্লারেশন ও টাইপ সিগনেচার আগেই দেওয়া আছে, তবে ফাংশনগুলো ডিফাইন করা এবং অর্থবহ একটি ডেটা টাইপ, নিউটাইপ বা টাইপ সিনোনিম তৈরি করা আপনার দায়িত্ব।
দক্ষ একটি ইমপ্লিমেন্টেশন লিখতে আগ্রহী হলে কিন্তু কোথা থেকে শুরু করবেন বুঝতে না পারলে, আমার জানা সেরা প্রাইমার হলো Chris Okasaki-র "Purely Functional Data Structures", যার একটি সংস্করণ আপনি এখানে পড়তে পারেন: https://www.cs.cmu.edu/~rwh/theses/okasaki.pdf
Exercism-এ সাইন আপ করুন, Haskell ট্র্যাকের 107টি অনুশীলনী আর সত্যিকারের মানুষের মেন্টরিং দিয়ে শিখুন ও দক্ষ হয়ে উঠুন, সম্পূর্ণ বিনামূল্যে।