Skip to content
  • Simon Peyton Jones's avatar
    Refactor unfoldings · 6e0f6ede
    Simon Peyton Jones authored
    There are two main refactorings here
    
    1.  Move the uf_arity field
           out of CoreUnfolding
           into UnfWhen
        It's a lot tidier there.  If I've got this right, no behaviour
        should change.
    
    2.  Define specUnfolding and use it in DsBinds and Specialise
         a) commons-up some shared code
         b) makes sure that Specialise correctly specialises DFun
            unfoldings (which it didn't before)
    
    The two got put together because both ended up interacting in the
    specialiser.
    
    They cause zero difference to nofib.
    6e0f6ede