transpose' :: [[a]] -> [[a]]
transpose' [[]] = []
transpose' [[], _] = []
transpose' rows = (map head' rows) : transpose' (map tail' rows)
where
head' (x:_) = x
tail' (_:xs) = xs
matMult3 :: (Num a) => [[a]] -> [[a]] -> [[a]]
matMult3 a b = [ [ sum $ zipWith (*) ar bc | bc <- (transpose' b) ] | ar <- a ]
誰もがこれが非網羅的なものになってしまうのではないかと考えていますか?私は何かが欠けているように感じるが、私は実際に知っているために自分自身をhaskellするには新しく、私はそれを教えているので、何かアドバイスをいただければ幸いです。私の機能のヘッドで非網羅的なパターン '
入力が正しく整形されていないとどうなりますか?例えば。 'transpose '[" a "、"]] ' – gallais