diff options
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 |
