@@ -22,7 +22,7 @@ data DExp = DV LVar
22 | DCase CaseType DExp [DAlt]
22 | DCase CaseType DExp [DAlt]
23 | DChkCase DExp [DAlt] -- a case where the type is unknown (for EVAL/APPLY)
23 | DChkCase DExp [DAlt] -- a case where the type is unknown (for EVAL/APPLY)
24 | DConst Const
24 | DConst Const
25− | DForeign FDesc DExp [(FDesc, DExp)]
25+ | DForeign FDesc FDesc [(FDesc, DExp)]
26 | DOp PrimFn [DExp]
26 | DOp PrimFn [DExp]
27 | DNothing -- erased value, can be compiled to anything since it'll never
27 | DNothing -- erased value, can be compiled to anything since it'll never
28 -- be inspected
28 -- be inspected
@@ -111,9 +111,8 @@ addApps defs (n, LFun _ _ args e)
111 return $ DCase up e' alts'
111 return $ DCase up e' alts'
112 aa env (LConst c) = return $ DConst c
112 aa env (LConst c) = return $ DConst c
113 aa env (LForeign t n args)
113 aa env (LForeign t n args)
115− args' <- mapM (aaF env) args
114+ = do args' <- mapM (aaF env) args
116− return $ DForeign t n' args'
115+ return $ DForeign t n args'
117 aa env (LOp LFork args) = liftM (DOp LFork) (mapM (aa env) args)
116 aa env (LOp LFork args) = liftM (DOp LFork) (mapM (aa env) args)
118 aa env (LOp f args) = do args' <- mapM (aa env) args
117 aa env (LOp f args) = do args' <- mapM (aa env) args
119 return $ DOp f args'
118 return $ DOp f args'
@@ -279,7 +278,7 @@ instance Show DExp where
279 showSep "\n\t| " (map (showAlt env) alts)
278 showSep "\n\t| " (map (showAlt env) alts)
280 show' env (DConst c) = show c
279 show' env (DConst c) = show c
281 show' env (DForeign ty n args)
280 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)) ++ ")"
283 show' env (DOp f args) = show f ++ "(" ++ showSep ", " (map (show' env) args) ++ ")"
282 show' env (DOp f args) = show f ++ "(" ++ showSep ", " (map (show' env) args) ++ ")"
284 show' env (DError str) = "error " ++ show str
283 show' env (DError str) = "error " ++ show str
285 show' env DNothing = "____"
284 show' env DNothing = "____"