بالنظر إلى أي مصفوفتين A وB، حدّد أيًّا من الحالات التالية ينطبق:
A مساوية لـ B؛ أوA تحتوي على المصفوفة B (أي أن A مصفوفة شاملة لـ B)؛ أوA مُتضمَّنة في المصفوفة B (أي أن A مصفوفة فرعية من B)؛ أوA وB غير متساويتينوتحديدًا، تكون المصفوفة A مساوية لـ B إذا كانت المصفوفتان تحتويان على القيم نفسها بالترتيب نفسه.
وتكون المصفوفة A مصفوفة شاملة لـ B إذا كانت A تحتوي على متتالية جزئية متصلة من القيم مساوية لـ B.
وتكون المصفوفة A مصفوفة فرعية من B إذا كانت B تحتوي على متتالية جزئية متصلة من القيم مساوية لـ A.
أمثلة:
A = [] وB = [] (كلتا المصفوفتين فارغتان)، فإن A وB متساويتانA = [1, 2, 3] وB = []، فإن A مصفوفة شاملة لـ B
A = [] وB = [1, 2, 3]، فإن A مصفوفة فرعية من B
A = [1, 2, 3] وB = [1, 2, 3, 4, 5]، فإن A مصفوفة فرعية من B
A = [3, 4, 5] وB = [1, 2, 3, 4, 5]، فإن A مصفوفة فرعية من B
A = [3, 4] وB = [1, 2, 3, 4, 5]، فإن A مصفوفة فرعية من B
A = [1, 2, 3] وB = [1, 2, 3]، فإن A وB متساويتانA = [1, 2, 3, 4, 5] وB = [2, 3, 4]، فإن A مصفوفة شاملة لـ B
A = [1, 2, 4] وB = [1, 2, 3, 4, 5]، فإن A وB غير متساويتينA = [1, 2, 3] وB = [1, 3, 2]، فإن A وB غير متساويتينالنوع Ordering له ثلاثة مُنشِئات، هي LT ("أصغر من") وEQ ("يساوي") وGT ("أكبر من"). يمكن لهذه المُنشِئات أن تمثّل علاقات القوائم الفرعية، حيث تعني Just LT "قائمة فرعية"، وهكذا، بينما تعني Nothing أنها ليست قائمة فرعية ولا قائمة فائقة ولا مساوية لها.
سجّل في Exercism لتتعلّم وتتقن Haskell عبر 107 تمارين، وإرشاد بشري حقيقي، وكل ذلك مجانًا.