packages feed

haskell-tools-builtin-refactorings-1.1.0.0: test/ExtensionOrganizerTest/FlexibleContextsTest/Definitions.hs

{-# LANGUAGE MultiParamTypeClasses, TypeOperators, TypeFamilies, ConstraintKinds, FlexibleContexts, RankNTypes #-}

module Definitions where

import GHC.Exts

data T a = T a

class C a where
  foo :: a -> ()

class a :?: b where
  q :: a -> b -> ()

class (a :!: b) c where
  e :: a -> b -> c -> ()

type family TF a :: Constraint

instance C [a] where
  foo = const ()

type Ctxt a = C [a]
type FunWCtxt a = Ctxt a => a -> ()

fCtxt :: FunWCtxt a
fCtxt = const ()

fNestedCtxt :: a -> FunWCtxt a -> ()
fNestedCtxt x f = f x


type SimpleEq a = Eq a