grisette-0.7.0.0: src/Grisette/Unified/Internal/UnifiedConstraint.hs
{-# LANGUAGE ConstraintKinds #-}
{-# LANGUAGE MonoLocalBinds #-}
-- |
-- Module : Grisette.Unified.Internal.UnifiedConstraint
-- Copyright : (c) Sirui Lu 2024
-- License : BSD-3-Clause (see the LICENSE file)
--
-- Maintainer : siruilu@cs.washington.edu
-- Stability : Experimental
-- Portability : GHC only
module Grisette.Unified.Internal.UnifiedConstraint (UnifiedPrimitive) where
import Grisette.Unified.Internal.Class.UnifiedITEOp (UnifiedITEOp)
import Grisette.Unified.Internal.Class.UnifiedSimpleMergeable
( UnifiedSimpleMergeable,
)
import Grisette.Unified.Internal.Class.UnifiedSymEq (UnifiedSymEq)
import Grisette.Unified.Internal.Class.UnifiedSymOrd (UnifiedSymOrd)
-- | Basic constraints for a unified primitive type.
type UnifiedPrimitive mode t =
( UnifiedITEOp mode t,
UnifiedSymEq mode t,
UnifiedSymOrd mode t,
UnifiedSimpleMergeable mode t
)