@@ -22,7 +22,7 @@ data DExp = DV LVar
2222 | DCase CaseType DExp [DAlt]
2323 | DChkCase DExp [DAlt] -- a case where the type is unknown (for EVAL/APPLY)
2424 | DConst Const
25− | DForeign FDesc DExp [(FDesc, DExp)]
25+ | DForeign FDesc FDesc [(FDesc, DExp)]
2626 | DOp PrimFn [DExp]
2727 | DNothing -- erased value, can be compiled to anything since it'll never
2828 -- be inspected
@@ -111,9 +111,8 @@ addApps defs (n, LFun _ _ args e)
111111 return $ DCase up e' alts'
112112 aa env (LConst c) = return $ DConst c
113113 aa env (LForeign t n args)
114− = do n' <- aa env n
115− args' <- mapM (aaF env) args
116− return $ DForeign t n' args'
114+ = do args' <- mapM (aaF env) args
115+ return $ DForeign t n args'
117116 aa env (LOp LFork args) = liftM (DOp LFork) (mapM (aa env) args)
118117 aa env (LOp f args) = do args' <- mapM (aa env) args
119118 return $ DOp f args'
@@ -279,7 +278,7 @@ instance Show DExp where
279278 showSep "\n\t| " (map (showAlt env) alts)
280279 show' env (DConst c) = show c
281280 show' env (DForeign ty n args)
282− = "foreign " ++ show' env n ++ "(" ++ showSep ", " (map (show' env) (map snd args)) ++ ")"
281+ = "foreign " ++ show n ++ "(" ++ showSep ", " (map (show' env) (map snd args)) ++ ")"
283282 show' env (DOp f args) = show f ++ "(" ++ showSep ", " (map (show' env) args) ++ ")"
284283 show' env (DError str) = "error " ++ show str
285284 show' env DNothing = "____"