diff options
author | simonpj <unknown> | 1999-01-27 14:52:25 +0000 |
---|---|---|
committer | simonpj <unknown> | 1999-01-27 14:52:25 +0000 |
commit | 18976e614fd90a8d81ced2c3e9cd8e38d72a1f40 (patch) | |
tree | ba006e4eab248358b818f771064df1a37e43cc16 /ghc/compiler/deSugar/DsMonad.lhs | |
parent | f3bed25cb37981ef391f750cae58280e71cd80bc (diff) | |
download | haskell-18976e614fd90a8d81ced2c3e9cd8e38d72a1f40.tar.gz |
[project @ 1999-01-27 14:51:14 by simonpj]
Finally! This commits the ongoing saga of Simon's hygiene sweep
FUNCTIONALITY
~~~~~~~~~~~~~
a) The 'unused variable' warnings from the renamer work.
b) Better error messages here and there, esp type checker
c) Fixities for Haskell 98 (maybe I'd done that before)
d) Lazy reporting of name clashes for Haskell 98 (ditto)
HYGIENE
~~~~~~~
a) type OccName has its own module. OccNames are represented
by a single FastString, not three as in the last round. This
string is held in Z-encoded form; a decoding function decodes
for printing in user error messages. There's a nice tight
encoding for (,,,,,,,,,,,,,,,,,,,,,,,,,,,,,)
b) type Module is a proper ADT, in module OccName
c) type RdrName is a proper ADT, in its own module
d) type Name has a new, somwhat tidier, representation
e) much grunting in the renamer to get Provenances right.
This makes error messages look better (no spurious qualifiers)
Diffstat (limited to 'ghc/compiler/deSugar/DsMonad.lhs')
-rw-r--r-- | ghc/compiler/deSugar/DsMonad.lhs | 7 |
1 files changed, 2 insertions, 5 deletions
diff --git a/ghc/compiler/deSugar/DsMonad.lhs b/ghc/compiler/deSugar/DsMonad.lhs index 930b851bdc..ea697b206a 100644 --- a/ghc/compiler/deSugar/DsMonad.lhs +++ b/ghc/compiler/deSugar/DsMonad.lhs @@ -20,7 +20,7 @@ module DsMonad ( ValueEnv, dsWarn, DsWarnings, - DsMatchContext(..), DsMatchKind(..), pprDsWarnings + DsMatchContext(..), DsMatchKind(..) ) where #include "HsVersions.h" @@ -28,7 +28,7 @@ module DsMonad ( import Bag ( emptyBag, snocBag, bagToList, Bag ) import ErrUtils ( WarnMsg, pprBagOfErrors ) import HsSyn ( OutPat ) -import Id ( mkUserLocal, mkSysLocal, setIdUnique, Id ) +import Id ( mkSysLocal, setIdUnique, Id ) import Name ( Module, Name, maybeWiredInIdName ) import Var ( TyVar, setTyVarUnique ) import VarEnv @@ -234,7 +234,4 @@ data DsMatchKind | ListCompMatch | LetMatch deriving () - -pprDsWarnings :: DsWarnings -> SDoc -pprDsWarnings warns = pprBagOfErrors warns \end{code} |