@@ -29,79 +29,47 @@ newtype SkolemScope = SkolemScope { runSkolemScope :: Int }
2929-- The type of types
3030--
3131data Type
32− -- |
33− -- A unification variable of type Type
34− --
32+ -- | A unification variable of type Type
3533 = TUnknown Int
36− -- |
37− -- A named type variable
38− --
34+ -- | A named type variable
3935 | TypeVar String
40− -- |
41− -- A type wildcard, as would appear in a partial type synonym
42− --
36+ -- | A type-level string
37+ | TypeLevelString String
38+ -- | A type wildcard, as would appear in a partial type synonym
4339 | TypeWildcard SourceSpan
44− -- |
45− -- A type constructor
46− --
40+ -- | A type constructor
4741 | TypeConstructor (Qualified (ProperName 'TypeName))
48− -- |
49− -- A type operator. This will be desugared into a type constructor during the
42+ -- | A type operator. This will be desugared into a type constructor during the
5043 -- "operators" phase of desugaring.
51− --
5244 | TypeOp (Qualified (OpName 'TypeOpName))
53− -- |
54− -- A type application
55− --
45+ -- | A type application
5646 | TypeApp Type Type
57− -- |
58− -- Forall quantifier
59− --
47+ -- | Forall quantifier
6048 | ForAll String Type (Maybe SkolemScope)
61− -- |
62− -- A type with a set of type class constraints
63− --
49+ -- | A type with a set of type class constraints
6450 | ConstrainedType [Constraint] Type
65− -- |
66− -- A skolem constant
67− --
51+ -- | A skolem constant
6852 | Skolem String Int SkolemScope (Maybe SourceSpan)
69− -- |
70− -- An empty row
71− --
53+ -- | An empty row
7254 | REmpty
73− -- |
74− -- A non-empty row
75− --
55+ -- | A non-empty row
7656 | RCons String Type Type
77− -- |
78− -- A type with a kind annotation
79− --
57+ -- | A type with a kind annotation
8058 | KindedType Type Kind
81− -- |
82− -- A placeholder used in pretty printing
83− --
59+ -- | A placeholder used in pretty printing
8460 | PrettyPrintFunction Type Type
85− -- |
86− -- A placeholder used in pretty printing
87− --
61+ -- | A placeholder used in pretty printing
8862 | PrettyPrintObject Type
89− -- |
90− -- A placeholder used in pretty printing
91− --
63+ -- | A placeholder used in pretty printing
9264 | PrettyPrintForAll [String] Type
93− -- |
94− -- Binary operator application. During the rebracketing phase of desugaring,
65+ -- | Binary operator application. During the rebracketing phase of desugaring,
9566 -- this data constructor will be removed.
96− --
9767 | BinaryNoParensType Type Type Type
98− -- |
99− -- Explicit parentheses. During the rebracketing phase of desugaring, this
68+ -- | Explicit parentheses. During the rebracketing phase of desugaring, this
10069 -- data constructor will be removed.
10170 --
10271 -- Note: although it seems this constructor is not used, it _is_ useful,
10372 -- since it prevents certain traversals from matching.
104− --
10573 | ParensInType Type
10674 deriving (Show, Read, Eq, Ord)
10775