In the source code for Data.FixedList, I found the following definition:
data FixedList f =>
Cons f a = (:.) {
head :: a,
tail :: (f a)
} deriving (Eq, Ord)
As someone very new to Haskell, it's hard to figure out what's going on here. I understand syntax such as data TypeName = TypeName { a :: Int, b :: Int} deriving (Show)
or data TypeName = TypeA | TypeB
, but the code above is over my head. Any documentation / or walk-through would be much appreciated!