blob: 788efef59d236bfd947af593fe521e63a60be076 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
{-# LANGUAGE TypeFamilies, RecordWildCards #-}
module AssocWildCards where
class FooClass a where
data FooType a
instance FooClass Int where
data FooType Int = FooInt { fooIntVal :: Int }
fooInt :: Int -> FooType Int
fooInt fooIntVal = FooInt{..}
fromFooInt :: FooType Int -> Int
fromFooInt (FooInt{..}) = fooIntVal
|