После долгой дискуссии в Напишите это Scala Матричное умножение в Haskell, мне оставалось задаться вопросом... что бы выглядела бы матричная умножение типа как? Итак, вот ваш вызов: либо ссылка на реализацию Haskell, либо реализовать себя, следующее:
data Matrix ... = ...
matrixMult :: Matrix ... -> Matrix ... -> Matrix ...
matrixMult ... = ...
Где matrixMult
создает ошибку типа во время компиляции, если вы пытаетесь умножить две матрицы с несовместимыми измерениями. Брауни указывает, если вы ссылаетесь на документы или книги, которые обсуждают эту точную тему, и/или обсудите, насколько полезной/бесполезной эта функциональность.