module Language.Haskell.Liquid.Types.Meet ( meetVarTypes ) where
import Text.PrettyPrint.HughesPJ (Doc)
import qualified Language.Fixpoint.Types as F
import Language.Haskell.Liquid.Types.RType
import Language.Haskell.Liquid.Types.RefType ()
import Liquid.GHC.API as Ghc
meetVarTypes :: F.TCEmb TyCon -> Doc -> (SrcSpan, SpecType) -> (SrcSpan, SpecType) -> SpecType
meetVarTypes :: TCEmb TyCon
-> Doc
-> (SrcSpan, RTypeBV Symbol Symbol RTyCon RTyVar RReft)
-> (SrcSpan, RTypeBV Symbol Symbol RTyCon RTyVar RReft)
-> RTypeBV Symbol Symbol RTyCon RTyVar RReft
meetVarTypes TCEmb TyCon
_emb Doc
_v (SrcSpan, RTypeBV Symbol Symbol RTyCon RTyVar RReft)
hs (SrcSpan, RTypeBV Symbol Symbol RTyCon RTyVar RReft)
lq = RTypeBV Symbol Symbol RTyCon RTyVar RReft
-> RTypeBV Symbol Symbol RTyCon RTyVar RReft
-> RTypeBV Symbol Symbol RTyCon RTyVar RReft
forall r. Meet r => r -> r -> r
meet RTypeBV Symbol Symbol RTyCon RTyVar RReft
hsT RTypeBV Symbol Symbol RTyCon RTyVar RReft
lqT
where
(SrcSpan
_hsSp, RTypeBV Symbol Symbol RTyCon RTyVar RReft
hsT) = (SrcSpan, RTypeBV Symbol Symbol RTyCon RTyVar RReft)
hs
(SrcSpan
_lqSp, RTypeBV Symbol Symbol RTyCon RTyVar RReft
lqT) = (SrcSpan, RTypeBV Symbol Symbol RTyCon RTyVar RReft)
lq