shithub: MicroHs

ref: ffda7053c7418a374fe16ed1c7da8a024cfe7523
dir: /lib/Data/Constraint.hs/

View raw version
-- Copyright 2023 Lennart Augustsson
-- See LICENSE file for full license.
module Data.Constraint(module Data.Constraint) where
import Prelude()              -- do not import Prelude
import Primitives  -- for (->)
import Text.Show

-- A very, very minimal version of the constraints package

type Dict :: Constraint -> Type
data Dict c = c => Dict

instance forall c . Show (Dict c) where
  showsPrec _ Dict = showString "Dict"

withDict :: forall c r . Dict c -> (c => r) -> r
withDict Dict r = r