-- Reason: less confusing, and easier to generate IfaceSyn
dcEqSpec :: [(TyVar,Type)], -- Equalities derived from the result type,
- -- *as written by the programmer*
+ -- /as written by the programmer/
-- This field allows us to move conveniently between the two ways
-- of representing a GADT constructor's type:
-- MkT :: forall a b. (a :=: [b]) => b -> T a
-\%
+%
% (c) The University of Glasgow 2006
% (c) The AQUA Project, Glasgow University, 1998
%
This module contains definitions for the IdInfo for things that
have a standard form, namely:
-* data constructors
-* record selectors
-* method and superclass selectors
-* primitive operations
+- data constructors
+- record selectors
+- method and superclass selectors
+- primitive operations
\begin{code}
{-# OPTIONS -fno-warn-missing-signatures #-}
-- The above warning supression flag is a temporary kludge.
-- While working on this module you are encouraged to remove it and fix
-- any warnings in the module. See
--- http://hackage.haskell.org/trac/ghc/wiki/Commentary/CodingStyle#Warnings
+-- <http://hackage.haskell.org/trac/ghc/wiki/Commentary/CodingStyle#Warnings>
-- for details
module MkId (
data_tv_set = tyVarsOfType data_ty
data_tvs = varSetElems data_tv_set
- -- *Very* tiresomely, the selectors are (unnecessarily!) overloaded over
+ -- _Very_ tiresomely, the selectors are (unnecessarily!) overloaded over
-- just the dictionaries in the types of the constructors that contain
-- the relevant field. [The Report says that pattern matching on a
-- constructor gives the same constraints as applying it.] Urgh.
is_explicit :: Bool,
is_iloc :: SrcSpan -- Location of the import item
}
- -- The is_explicit field is True iff the thing was named
- -- *explicitly* in the import specs rather
- -- than being imported as part of a "..." group
+ -- The is_explicit field is True iff the thing was
+ -- named /explicitly/ in the import specs rather
+ -- than being imported as part of a "..." group
-- e.g. import C( T(..) )
-- Here the constructors of T are not named explicitly;
-- only T is named explicitly.