Как упоминал Рейн Хенрикс в комментарии, вы можете рассмотреть возможность присвоения этой функции какого-либо иного

ался создать экземпляр show для визуализации заданной матрицы, а также для создания контура со столбцами вокруг и между матрицей. На данный момент мне удалось сделать следующее:

data Mat a = Mat [[a]]
instance (Show a) => Show (Mat a) where
show (Mat x) = "\n" ++ " ---\n"++unlines ( map (\r -> showRow r ++ "\n ---") x ) ++ "\n"
    where
      showRow list = "¦ "++unwords ( map (\v -> show v ++" ¦") list)

Предполагая, что у нас есть матрицаMat [[1,2,3],[4,5,6]] что мы хотели бы проверить.

Вывод из командной строки следующий:

 ---
¦ 1 ¦ 2 ¦ 3 ¦
 ---
¦ 4 ¦ 5 ¦ 6 ¦
 ---

Чего я хотел бы добиться, так это отформатировать данную матрицу горизонтальными линиями над остальной частью каждого столбца, например:

 --- --- ---
¦ 1 ¦ 2 ¦ 3 ¦
 --- --- ---
¦ 4 ¦ 5 ¦ 6 ¦
 --- --- ---

Ответы на вопрос(1)

Ваш ответ на вопрос