Skip to content
  • Simon Peyton Jones's avatar
    Remove InlinePlease and add inline function and RULE · f2dcf256
    Simon Peyton Jones authored
    For a long time GHC has had some internal mechanism designed to support
    a call-site inline directive, thus
    	inline f xs
    makes f be inlined at the call site even if f is big.
    
    However, the surface syntax seems to have gone, and in any case it
    can be done more neatly using a RULE.
    
    This commit:
      * Removes the InlineCall constructor for Note
        and InlinePlease for SimplCont
    
      * Adds a new known-key Id called 'inline', whose definition in
        GHC.Base is just the identity function
    
      * Adds a built-in RULE in PrelRules that rewrites (inline f) to
        the body of f, if possible
    
      * Adds documentation
    
    NOTE: I have not tested this (aeroplane work).  Give it a try!
    f2dcf256