Fix primMname in External Core printer
[ghc-hetmet.git] / compiler / coreSyn / PprCore.lhs
index 08fbdc4..9d6f0bd 100644 (file)
@@ -6,6 +6,13 @@
 Printing of Core syntax
 
 \begin{code}
+{-# OPTIONS -w #-}
+-- 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
+-- for details
+
 module PprCore (
        pprCoreExpr, pprParendExpr,
        pprCoreBinding, pprCoreBindings, pprCoreAlt,
@@ -132,7 +139,7 @@ ppr_expr add_par expr@(App fun arg)
     let
        pp_args     = sep (map pprArg args)
        val_args    = dropWhile isTypeArg args   -- Drop the type arguments for tuples
-       pp_tup_args = sep (punctuate comma (map pprArg val_args))
+       pp_tup_args = sep (punctuate comma (map pprCoreExpr val_args))
     in
     case fun of
        Var f -> case isDataConWorkId_maybe f of
@@ -186,7 +193,6 @@ ppr_expr add_par (Let bind@(NonRec val_bdr rhs@(Let _ _)) body)
       nest 2 (pprCoreExpr rhs),
       ptext SLIT("} in"),
       pprCoreExpr body ]
--}
 
 ppr_expr add_par (Let bind@(NonRec val_bdr rhs) expr@(Let _ _))
   = add_par
@@ -195,15 +201,16 @@ ppr_expr add_par (Let bind@(NonRec val_bdr rhs) expr@(Let _ _))
                   ptext SLIT("} in")])
      $$
      pprCoreExpr expr)
+-}
 
--- general case (recursive case, too)
+-- General case (recursive case, too)
 ppr_expr add_par (Let bind expr)
   = add_par $
-    sep [hang (ptext keyword) 2 (ppr_bind bind),
-        hang (ptext SLIT("} in ")) 2 (pprCoreExpr expr)]
+    sep [hang (ptext keyword) 2 (ppr_bind bind <+> ptext SLIT("} in")),
+        pprCoreExpr expr]
   where
     keyword = case bind of
-               Rec _      -> SLIT("__letrec {")
+               Rec _      -> SLIT("letrec {")
                NonRec _ _ -> SLIT("let {")
 
 ppr_expr add_par (Note (SCC cc) expr)
@@ -285,7 +292,7 @@ pprTyVarBndr tyvar
 pprIdBndr id = ppr id <+> pprIdBndrInfo (idInfo id)
 
 pprIdBndrInfo info 
-  = megaSeqIdInfo `seq` doc -- The seq is useful for poking on black holes
+  = megaSeqIdInfo info `seq` doc -- The seq is useful for poking on black holes
   where
     prag_info = inlinePragInfo info
     occ_info  = occInfo info
@@ -355,7 +362,7 @@ pprRule (Rule { ru_name = name, ru_act = act, ru_fn = fn,
                ru_bndrs = tpl_vars, ru_args = tpl_args,
                ru_rhs = rhs })
   = hang (doubleQuotes (ftext name) <+> ppr act)
-       4 (sep [ptext SLIT("__forall") <+> braces (sep (map pprTypedBinder tpl_vars)),
+       4 (sep [ptext SLIT("forall") <+> braces (sep (map pprTypedBinder tpl_vars)),
               nest 2 (ppr fn <+> sep (map pprArg tpl_args)),
               nest 2 (ptext SLIT("=") <+> pprCoreExpr rhs)
            ])