۱۶ - ۱۰تمرین‌ها: نمونه‌های Func

اول برای هرکدوم از نوع‌داده‌های زیر نمونه ِ ‏‎Functor‎‏ تعریف کنین، و بعد همونطور که نشون دادیم، با استفاده از مشخصه‌های ‏‎QuickCheck‎‏ جواب‌هاتون رو تست کنین.

۱.

newtype Identity a = Identity a

۲.

data Pair a = Pair a a

۳.

data Two a b = Two a b

۴.

data Three a b c = Three a b c

۵.

data Three' a b = Three' a b b

۶.

data Four a b c d = Four a b c d

۷.

data Four' a b = Four' a a a b

۸.

برای این تایپ هم میشه نمونه نوشت؟ چرا؟ چرا نه؟

data Trivial = Trivial

حل این تمرین‌ها برای درکِ طرزِ کارِ ‏‎Functor‎‏ حیاتی‌ه، رَدِشون نکنین!