diff options
| author | Ian Lynagh <igloo@earth.li> | 2012-06-14 12:46:48 +0100 |
|---|---|---|
| committer | Ian Lynagh <igloo@earth.li> | 2012-06-14 12:46:48 +0100 |
| commit | 0f3d8ab9f8c174f9aba5764a6b1edaf2c873b8c6 (patch) | |
| tree | 495a31e7dbb51aa89a9103d62ca12e4475cf6c15 /compiler/coreSyn | |
| parent | 82a8ffd8179e0f99271a608e52f083d7a09d24ee (diff) | |
| parent | 1e9a2d34ae6996b6872ee4cc87bc8218360fcaf9 (diff) | |
| download | haskell-0f3d8ab9f8c174f9aba5764a6b1edaf2c873b8c6.tar.gz | |
Merge branch 'master' of darcs.haskell.org:/srv/darcs//ghc
Diffstat (limited to 'compiler/coreSyn')
| -rw-r--r-- | compiler/coreSyn/MkCore.lhs | 23 |
1 files changed, 2 insertions, 21 deletions
diff --git a/compiler/coreSyn/MkCore.lhs b/compiler/coreSyn/MkCore.lhs index 25dfaababa..6123e0a346 100644 --- a/compiler/coreSyn/MkCore.lhs +++ b/compiler/coreSyn/MkCore.lhs @@ -25,9 +25,6 @@ module MkCore ( -- * Floats FloatBind(..), wrapFloat, - -- * Constructing/deconstructing implicit parameter boxes - mkIPUnbox, mkIPBox, - -- * Constructing/deconstructing equality evidence boxes mkEqBox, @@ -62,7 +59,7 @@ module MkCore ( #include "HsVersions.h" import Id -import Var ( IpId, EvVar, setTyVarUnique ) +import Var ( EvVar, setTyVarUnique ) import CoreSyn import CoreUtils ( exprType, needsCaseBinding, bindNonRec ) @@ -72,8 +69,7 @@ import HscTypes import TysWiredIn import PrelNames -import IParam ( ipCoAxiom ) -import TcType ( mkSigmaTy, evVarPred ) +import TcType ( mkSigmaTy ) import Type import Coercion import TysPrim @@ -303,21 +299,6 @@ mkStringExprFS str \begin{code} -mkIPBox :: IPName IpId -> CoreExpr -> CoreExpr -mkIPBox ipx e = e `Cast` mkSymCo (mkAxInstCo (ipCoAxiom ip) [ty]) - where x = ipNameName ipx - Just (ip, ty) = getIPPredTy_maybe (evVarPred x) - -- NB: don't use the DataCon work id because we don't generate code for it - -mkIPUnbox :: IPName IpId -> CoreExpr -mkIPUnbox ipx = Var x `Cast` mkAxInstCo (ipCoAxiom ip) [ty] - where x = ipNameName ipx - Just (ip, ty) = getIPPredTy_maybe (evVarPred x) - -\end{code} - -\begin{code} - mkEqBox :: Coercion -> CoreExpr mkEqBox co = ASSERT2( typeKind ty2 `eqKind` k, ppr co $$ ppr ty1 $$ ppr ty2 $$ ppr (typeKind ty1) $$ ppr (typeKind ty2) ) Var (dataConWorkId eqBoxDataCon) `mkTyApps` [k, ty1, ty2] `App` Coercion co |
