Skip to content
  • Simon Peyton Jones's avatar
    Refactoring in preparation for lazy skolemisation · e2ea933f
    Simon Peyton Jones authored and Marge Bot's avatar Marge Bot committed
    
    
    * Make HsMatchContext and HsStmtContext be parameterised over the
      function name itself, rather than over the pass.
      See [mc_fun field of FunRhs] in Language.Haskell.Syntax.Expr
        - Replace types
            HsMatchContext GhcPs --> HsMatchContextPs
            HsMatchContext GhcRn --> HsMatchContextRn
            HsMatchContext GhcTc --> HsMatchContextRn  (sic! not Tc)
            HsStmtContext  GhcRn --> HsStmtContextRn
        - Kill off convertHsMatchCtxt
    
    * Split GHC.Tc.Type.BasicTypes.TcSigInfo so that TcCompleteSig (describing
      a complete user-supplied signature) is its own data type.
        - Split TcIdSigInfo(CompleteSig, PartialSig) into
            TcCompleteSig(CSig)
            TcPartialSig(PSig)
        - Use TcCompleteSig in tcPolyCheck, CheckGen
        - Rename types and data constructors:
            TcIdSigInfo         --> TcIdSig
            TcPatSynInfo(TPSI)  --> TcPatSynSig(PatSig)
        - Shuffle around helper functions:
            tcSigInfoName           (moved to GHC.Tc.Types.BasicTypes)
            completeSigPolyId_maybe (moved to GHC.Tc.Types.BasicTypes)
            tcIdSigName             (inlined and removed)
            tcIdSigLoc              (introduced)
        - Rearrange the pattern match in chooseInferredQuantifiers
    
    * Rename functions and types:
        tcMatchesCase         --> tcCaseMatches
        tcMatchesFun          --> tcFunBindMatches
        tcMatchLambda         --> tcLambdaMatches
        tcPats                --> tcMatchPats
        matchActualFunTysRho  --> matchActualFunTys
        matchActualFunTySigma --> matchActualFunTy
    
    * Add HasDebugCallStack constraints to:
        mkBigCoreVarTupTy, mkBigCoreTupTy, boxTy,
        mkPiTy, mkPiTys, splitAppTys, splitTyConAppNoView_maybe
    
    * Use `penv` from the outer context in the inner loop of
      GHC.Tc.Gen.Pat.tcMultiple
    
    * Move tcMkVisFunTy, tcMkInvisFunTy, tcMkScaledFunTys down the file,
      factor out and export tcMkScaledFunTy.
    
    * Move isPatSigCtxt down the file.
    
    * Formatting and comments
    
    Co-authored-by: default avatarVladislav Zavialov <vlad.z.4096@gmail.com>
    e2ea933f