diff options
author | simonmar <unknown> | 2002-03-14 15:47:55 +0000 |
---|---|---|
committer | simonmar <unknown> | 2002-03-14 15:47:55 +0000 |
commit | b9312420f355a3b6f24f3bd732300d9e03f59268 (patch) | |
tree | f80e04d21f2e88ffcf338f0e0d8f97588063eec6 /ghc/compiler/deSugar | |
parent | 1553c7788e7f663bfc55813158325d695a21a229 (diff) | |
download | haskell-b9312420f355a3b6f24f3bd732300d9e03f59268.tar.gz |
[project @ 2002-03-14 15:47:52 by simonmar]
Remove the interface file parser, and move .hi-boot parsing into the
main parser. The syntax of .hi-boot files is now greatly improved in
terms of readability; here's an example:
module M where
data T
f :: T -> GHC.Base.Int
note that
(a) layout can be used
(b) there's no explcit export list; everything declared
is implicitly exported
(c) Z-encoding of names is no longer required
(d) Any identifier not declared in the current module must
still be quailified with the module which originally
defined it (eg. GHC.Base.Int above).
We'd like to relax (d), but that will come later.
Diffstat (limited to 'ghc/compiler/deSugar')
-rw-r--r-- | ghc/compiler/deSugar/DsExpr.hi-boot-6 | 8 | ||||
-rw-r--r-- | ghc/compiler/deSugar/Match.hi-boot-6 | 31 |
2 files changed, 29 insertions, 10 deletions
diff --git a/ghc/compiler/deSugar/DsExpr.hi-boot-6 b/ghc/compiler/deSugar/DsExpr.hi-boot-6 index 11c0fa08fc..5fffa1c510 100644 --- a/ghc/compiler/deSugar/DsExpr.hi-boot-6 +++ b/ghc/compiler/deSugar/DsExpr.hi-boot-6 @@ -1,4 +1,4 @@ -__interface DsExpr 1 0 where -__export DsExpr dsExpr dsLet; -1 dsExpr :: TcHsSyn.TypecheckedHsExpr -> DsMonad.DsM CoreSyn.CoreExpr ; -1 dsLet :: TcHsSyn.TypecheckedHsBinds -> CoreSyn.CoreExpr -> DsMonad.DsM CoreSyn.CoreExpr ; +module DsExpr where + +dsExpr :: TcHsSyn.TypecheckedHsExpr -> DsMonad.DsM CoreSyn.CoreExpr +dsLet :: TcHsSyn.TypecheckedHsBinds -> CoreSyn.CoreExpr -> DsMonad.DsM CoreSyn.CoreExpr diff --git a/ghc/compiler/deSugar/Match.hi-boot-6 b/ghc/compiler/deSugar/Match.hi-boot-6 index 2e4d223089..e7f5e1ae92 100644 --- a/ghc/compiler/deSugar/Match.hi-boot-6 +++ b/ghc/compiler/deSugar/Match.hi-boot-6 @@ -1,6 +1,25 @@ -__interface Match 1 0 where -__export Match match matchExport matchSimply matchSinglePat; -1 match :: [Var.Id] -> [DsUtils.EquationInfo] -> DsMonad.DsM DsUtils.MatchResult ; -1 matchExport :: [Var.Id] -> [DsUtils.EquationInfo] -> DsMonad.DsM DsUtils.MatchResult ; -1 matchSimply :: CoreSyn.CoreExpr -> HsExpr.HsMatchContext Var.Id -> TcHsSyn.TypecheckedPat -> CoreSyn.CoreExpr -> CoreSyn.CoreExpr -> DsMonad.DsM CoreSyn.CoreExpr ; -1 matchSinglePat :: CoreSyn.CoreExpr -> DsMonad.DsMatchContext -> TcHsSyn.TypecheckedPat -> DsUtils.MatchResult -> DsMonad.DsM DsUtils.MatchResult ; +module Match where + +match :: [Var.Id] + -> [DsUtils.EquationInfo] + -> DsMonad.DsM DsUtils.MatchResult + +matchExport + :: [Var.Id] + -> [DsUtils.EquationInfo] + -> DsMonad.DsM DsUtils.MatchResult + +matchSimply + :: CoreSyn.CoreExpr + -> HsExpr.HsMatchContext Var.Id + -> TcHsSyn.TypecheckedPat + -> CoreSyn.CoreExpr + -> CoreSyn.CoreExpr + -> DsMonad.DsM CoreSyn.CoreExpr + +matchSinglePat + :: CoreSyn.CoreExpr + -> DsMonad.DsMatchContext + -> TcHsSyn.TypecheckedPat + -> DsUtils.MatchResult + -> DsMonad.DsM DsUtils.MatchResult |