Remove (most of) the FiniteMap wrapper
[ghc-hetmet.git] / compiler / stgSyn / CoreToStg.lhs
index b5484a4..370393b 100644 (file)
@@ -445,7 +445,7 @@ mkStgAltType bndr alts
    _is_poly_alt_tycon tc
        =  isFunTyCon tc
         || isPrimTyCon tc   -- "Any" is lifted but primitive
-       || isOpenTyCon tc   -- Type family; e.g. arising from strict
+       || isFamilyTyCon tc   -- Type family; e.g. arising from strict
                            -- function application where argument has a
                            -- type-family type
 
@@ -528,15 +528,20 @@ coreToStgApp _ f args = do
        res_ty = exprType (mkApps (Var f) args)
        app = case idDetails f of
                DataConWorkId dc | saturated -> StgConApp dc args'
+
+               -- Some primitive operator that might be implemented as a library call.
                PrimOpId op      -> ASSERT( saturated )
                                    StgOpApp (StgPrimOp op) args' res_ty
-               FCallId (CCall (CCallSpec (StaticTarget lbl) PrimCallConv _))
-                                 -- prim calls are represented as FCalls in core,
-                                 -- but in stg we distinguish them
-                                -> ASSERT( saturated )
-                                    StgOpApp (StgPrimCallOp (PrimCall lbl)) args' res_ty
+
+               -- A call to some primitive Cmm function.
+               FCallId (CCall (CCallSpec (StaticTarget lbl (Just pkgId)) PrimCallConv _))
+                                -> ASSERT( saturated )
+                                   StgOpApp (StgPrimCallOp (PrimCall lbl pkgId)) args' res_ty
+
+               -- A regular foreign call.
                FCallId call     -> ASSERT( saturated )
                                    StgOpApp (StgFCallOp call (idUnique f)) args' res_ty
+
                 TickBoxOpId {}   -> pprPanic "coreToStg TickBox" $ ppr (f,args')
                _other           -> StgApp f args'
 
@@ -1115,7 +1120,7 @@ myCollectArgs expr
     go (Cast e _)       as = go e as
     go (Note _ e)       as = go e as
     go (Lam b e)        as
-       | isTyVar b         = go e as   -- Note [Collect args]
+       | isTyCoVar b         = go e as -- Note [Collect args]
     go _                _  = pprPanic "CoreToStg.myCollectArgs" (ppr expr)
 \end{code}