projects
/
ghc-hetmet.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Improve syntax for primitive coercions in External Core
[ghc-hetmet.git]
/
compiler
/
coreSyn
/
CoreSyn.lhs
diff --git
a/compiler/coreSyn/CoreSyn.lhs
b/compiler/coreSyn/CoreSyn.lhs
index
7687317
..
f732a95
100644
(file)
--- a/
compiler/coreSyn/CoreSyn.lhs
+++ b/
compiler/coreSyn/CoreSyn.lhs
@@
-48,7
+48,6
@@
module CoreSyn (
#include "HsVersions.h"
#include "HsVersions.h"
-import StaticFlags
import CostCentre
import Var
import Type
import CostCentre
import Var
import Type
@@
-138,7
+137,7
@@
Invariant: The remaining cases are in order of increasing
Invariant: The list of alternatives is ALWAYS EXHAUSTIVE,
meaning that it covers all cases that can occur
Invariant: The list of alternatives is ALWAYS EXHAUSTIVE,
meaning that it covers all cases that can occur
- An "exhausive" case does not necessarily mention all constructors:
+ An "exhaustive" case does not necessarily mention all constructors:
data Foo = Red | Green | Blue
...case x of
data Foo = Red | Green | Blue
...case x of
@@
-389,7
+388,7
@@
neverUnfold _ = False
instance Outputable AltCon where
ppr (DataAlt dc) = ppr dc
ppr (LitAlt lit) = ppr lit
instance Outputable AltCon where
ppr (DataAlt dc) = ppr dc
ppr (LitAlt lit) = ppr lit
- ppr DEFAULT = ptext SLIT("__DEFAULT")
+ ppr DEFAULT = ptext (sLit "__DEFAULT")
instance Show AltCon where
showsPrec p con = showsPrecSDoc p (ppr con)
instance Show AltCon where
showsPrec p con = showsPrecSDoc p (ppr con)
@@
-591,23
+590,18
@@
coreExprCc _ = noCostCentre
%* *
%************************************************************************
%* *
%************************************************************************
+At one time we optionally carried type arguments through to runtime.
@isRuntimeVar v@ returns if (Lam v _) really becomes a lambda at runtime,
i.e. if type applications are actual lambdas because types are kept around
@isRuntimeVar v@ returns if (Lam v _) really becomes a lambda at runtime,
i.e. if type applications are actual lambdas because types are kept around
-at runtime.
-
-Similarly isRuntimeArg.
+at runtime. Similarly isRuntimeArg.
\begin{code}
isRuntimeVar :: Var -> Bool
\begin{code}
isRuntimeVar :: Var -> Bool
-isRuntimeVar | opt_RuntimeTypes = \_ -> True
- | otherwise = \v -> isId v
+isRuntimeVar = isId
isRuntimeArg :: CoreExpr -> Bool
isRuntimeArg :: CoreExpr -> Bool
-isRuntimeArg | opt_RuntimeTypes = \_ -> True
- | otherwise = \e -> isValArg e
-\end{code}
+isRuntimeArg = isValArg
-\begin{code}
isValArg :: Expr b -> Bool
isValArg (Type _) = False
isValArg _ = True
isValArg :: Expr b -> Bool
isValArg (Type _) = False
isValArg _ = True