2
Можно ли «запечь измерение в тип» в haskell?
Предположим, я хочу написать библиотеку, которая работает с векторами и матрицами. Можно ли объединить измерения в типы, чтобы операции несовместимых измерений вызывали ошибку во время компиляции? Например, я хотел бы, чтобы подпись точечного продукта была чем-то вроде dotprod :: Num a, VecDim d => Vector a d -> Vector a …