• Ben Gamari's avatar
    Give seq a more precise type and remove magic · 08d595c0
    Ben Gamari authored
    `GHC.Prim.seq` previously had the rather plain type:
    
        seq :: forall a b. a -> b -> b
    
    However, it also had a special typing rule to applications
    where `b` is not of kind `Type`.
    
    Issue #17440 noted that levity polymorphism allows us to rather give
    it the more precise type:
    
        seq :: forall (r :: RuntimeRep) a (b :: TYPE r). a -> b -> b
    
    This allows us to remove the special typing rule that we previously
    required to allow applications on unlifted arguments. T9404 contains a
    non-Type application of `seq` which should verify that this works as
    expected.
    
    Closes #17440.
    08d595c0
Name
Last commit
Last update
..
ClsInst.hs Loading commit data...
Constraint.hs Loading commit data...
FamInst.hs Loading commit data...
Flattening-notes Loading commit data...
FunDeps.hs Loading commit data...
Inst.hs Loading commit data...
TcAnnotations.hs Loading commit data...
TcArrows.hs Loading commit data...
TcBackpack.hs Loading commit data...
TcBinds.hs Loading commit data...
TcCanonical.hs Loading commit data...
TcClassDcl.hs Loading commit data...
TcDefaults.hs Loading commit data...
TcDeriv.hs Loading commit data...
TcDerivInfer.hs Loading commit data...
TcDerivUtils.hs Loading commit data...
TcEnv.hs Loading commit data...
TcEnv.hs-boot Loading commit data...
TcErrors.hs Loading commit data...
TcEvTerm.hs Loading commit data...
TcEvidence.hs Loading commit data...
TcExpr.hs Loading commit data...
TcExpr.hs-boot Loading commit data...
TcFlatten.hs Loading commit data...
TcForeign.hs Loading commit data...
TcGenDeriv.hs Loading commit data...
TcGenFunctor.hs Loading commit data...
TcGenGenerics.hs Loading commit data...
TcHoleErrors.hs Loading commit data...
TcHoleErrors.hs-boot Loading commit data...
TcHoleFitTypes.hs Loading commit data...
TcHoleFitTypes.hs-boot Loading commit data...
TcHsSyn.hs Loading commit data...
TcHsType.hs Loading commit data...
TcInstDcls.hs Loading commit data...
TcInstDcls.hs-boot Loading commit data...
TcInteract.hs Loading commit data...
TcMType.hs Loading commit data...
TcMatches.hs Loading commit data...
TcMatches.hs-boot Loading commit data...
TcOrigin.hs Loading commit data...
TcPat.hs Loading commit data...
TcPatSyn.hs Loading commit data...
TcPatSyn.hs-boot Loading commit data...
TcPluginM.hs Loading commit data...
TcRnDriver.hs Loading commit data...
TcRnDriver.hs-boot Loading commit data...
TcRnExports.hs Loading commit data...
TcRnMonad.hs Loading commit data...
TcRnTypes.hs Loading commit data...
TcRnTypes.hs-boot Loading commit data...
TcRules.hs Loading commit data...
TcSMonad.hs Loading commit data...
TcSigs.hs Loading commit data...
TcSimplify.hs Loading commit data...
TcSplice.hs Loading commit data...
TcSplice.hs-boot Loading commit data...
TcTyClsDecls.hs Loading commit data...
TcTyDecls.hs Loading commit data...
TcType.hs Loading commit data...
TcType.hs-boot Loading commit data...
TcTypeNats.hs Loading commit data...
TcTypeable.hs Loading commit data...
TcUnify.hs Loading commit data...
TcUnify.hs-boot Loading commit data...
TcValidity.hs Loading commit data...