aboutsummaryrefslogtreecommitdiff
path: root/examples/Bug6.hs
blob: 498983df075d9feb024a9bbca9b5572966c7dcb9 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
-- | Exporting records.
module Bug6( A(A), B(B), b, C(C,c1,c2), D(D,d1), E(E) ) where

-- |
-- This record is exported without its field
data A = A { a :: Int }

-- |
-- .. with its field, but the field is named separately in the export list
-- (should still be visible as a field name)
data B = B { b :: Int }

-- |
-- .. with fields names as subordinate names in the export
data C = C { c1 :: Int, c2 :: Int }

-- |
-- .. with only some of the fields exported (we can't handle this one -
-- how do we render the declaration?)
data D = D { d1 :: Int, d2 :: Int }

-- | a newtype with a field
newtype E = E { e :: Int }