Skip to content
  • Simon Peyton Jones's avatar
    [project @ 2001-03-23 10:44:08 by simonpj] · 86d20be7
    Simon Peyton Jones authored
    -----------------------------------
    	Remove a redundant test in WorkWrap
    	-----------------------------------
    
    We were making a worker/wrapper for an INLINE
    function when it wasn't necessary, and that's a Bad Idea.
    As the comment with WorkWrap.tryWW now says:
    
    	-- It's very important to refrain from w/w-ing an INLINE function
    	-- If we do so by mistake we transform
    	--	f = __inline (\x -> E)
    	-- into
    	--	f = __inline (\x -> case x of (a,b) -> fw E)
    	--	fw = \ab -> (__inline (\x -> E)) (a,b)
    	-- and the original __inline now vanishes, so E is no longer
    	-- inside its __inline wrapper.  Death!  Disaster!
    
    There was one case when we did w/w it (to do with coercions),
    but it turned out to be a vestige, as the OUT OF DATE NOTE says.
    86d20be7