Код IT Загрузка примера кода…

Haskell main.hs
data Масть = Пики | Трефы | Бубны | Червы
  deriving (Show, Read, Eq, Ord)

data Достоинство = Семёрка | Восьмёрка | Девятка | Десятка
                 | Валет | Дама | Король | Туз
  deriving (Show, Read, Eq, Ord)

data Карта = К Достоинство Масть
  deriving (Show, Read, Eq, Ord)

type Рука = [Карта]

естьМарьяж :: Рука -> Bool
естьМарьяж карты =
  any (естьМарьяжМасти) [Пики, Трефы, Бубны, Червы]
  where
    естьМарьяжМасти м =
      К Дама м `elem` карты && К Король м `elem` карты
data Масть = Пики | Трефы | Бубны | Червы
  deriving (Show, Read, Eq, Ord)

data Достоинство = Семёрка | Восьмёрка | Девятка | Десятка
                 | Валет | Дама | Король | Туз
  deriving (Show, Read, Eq, Ord)

data Карта = К Достоинство Масть
  deriving (Show, Read, Eq, Ord)

type Рука = [Карта]

естьМарьяж :: Рука -> Bool
естьМарьяж карты =
  any (естьМарьяжМасти) [Пики, Трефы, Бубны, Червы]
  where
    естьМарьяжМасти м =
      К Дама м `elem` карты && К Король м `elem` карты