Типобезопасное умножение матриц

После долгого обсуждения на Напишите это умножение матриц Scala на Haskell , я остался задаваться вопросом ... как бы выглядело типобезопасное умножение матриц ? Итак, ваша задача: либо создать ссылку на реализацию Haskell, либо реализовать следующее:

data Matrix ... = ...

matrixMult :: Matrix ... -> Matrix ... -> Matrix ...
matrixMult ... = ...

Где matrixMult выдает ошибку типа во время компиляции , если вы пытаетесь умножить две матрицы несовместимых размеров. Брауни указывает, если вы даете ссылку на статьи или книги, в которых обсуждается именно эта тема, и / или обсуждаете, насколько полезна / бесполезна эта функция.

15
задан River 18 October 2017 в 03:28
поделиться