summaryrefslogtreecommitdiff
path: root/ghc/compiler/hsSyn/HsExpr.lhs
diff options
context:
space:
mode:
authorpartain <unknown>1996-04-08 16:18:20 +0000
committerpartain <unknown>1996-04-08 16:18:20 +0000
commit7b0181919416d8f04324575b7e17031ca692f5b0 (patch)
tree250194af10d02f2851243687dd515d556232a431 /ghc/compiler/hsSyn/HsExpr.lhs
parentf9120c200bcf613b58d742802172fb4c08171f0d (diff)
downloadhaskell-7b0181919416d8f04324575b7e17031ca692f5b0.tar.gz
[project @ 1996-04-08 16:15:43 by partain]
SLPJ 1.3 hacks through 960408
Diffstat (limited to 'ghc/compiler/hsSyn/HsExpr.lhs')
-rw-r--r--ghc/compiler/hsSyn/HsExpr.lhs12
1 files changed, 11 insertions, 1 deletions
diff --git a/ghc/compiler/hsSyn/HsExpr.lhs b/ghc/compiler/hsSyn/HsExpr.lhs
index 8c62d1835d..0a0397ec27 100644
--- a/ghc/compiler/hsSyn/HsExpr.lhs
+++ b/ghc/compiler/hsSyn/HsExpr.lhs
@@ -19,7 +19,8 @@ import HsTypes ( PolyType )
-- others:
import Id ( DictVar(..), GenId, Id(..) )
-import Outputable
+import Name ( isOpLexeme, pprOp )
+import Outputable ( interppSP, interpp'SP, ifnotPprForUser )
import PprType ( pprGenType, pprParendGenType, GenType{-instance-} )
import Pretty
import PprStyle ( PprStyle(..) )
@@ -109,6 +110,10 @@ data HsExpr tyvar uvar id pat
| RecordUpd (HsExpr tyvar uvar id pat)
(HsRecordBinds tyvar uvar id pat)
+ | RecordUpdOut (HsExpr tyvar uvar id pat) -- TRANSLATION
+ [id] -- Dicts needed for construction
+ (HsRecordBinds tyvar uvar id pat)
+
| ExprWithTySig -- signature binding
(HsExpr tyvar uvar id pat)
(PolyType id)
@@ -165,6 +170,11 @@ Everything from here on appears only in typechecker output.
| SingleDict -- a simple special case of Dictionary
id -- local dictionary name
+ | HsCon -- TRANSLATION; a constructor application
+ Id -- used only in the RHS of constructor definitions
+ [GenType tyvar uvar]
+ [HsExpr tyvar uvar id pat]
+
type HsRecordBinds tyvar uvar id pat
= [(id, HsExpr tyvar uvar id pat, Bool)]
-- True <=> source code used "punning",