
29 Jan
2010
29 Jan
'10
6:11 a.m.
Ah, yes. That might be just what I'm after!
However, having a look, none of the methods in the class look like they depend on the actual type a, so it might be better to have
class Matrix m where fromRows :: [[a]] -> m a toList :: m a -> [a] rows :: m a -> Integer columns :: m a -> Integer row :: m a -> Integer -> [a] column :: m a -> Integer -> [a] at :: m a -> Integer -> Integer -> a (!!!) :: m a -> Integer -> Integer -> a vicinityRows :: m a -> Integer -> Integer -> [[Maybe a]] vicinityMatrix :: m a -> Integer -> Integer -> m (Maybe a) -- No constraint needed!! neighbours :: m a -> Integer -> Integer -> [a]