packages feed

type-eq-0.2: Type/Eq/Higher.hs-boot

{-# LANGUAGE GADTs, TypeFamilies, KindSignatures, TypeOperators, CPP #-}

#include "macros.h"

LANGUAGE_TRUSTWORTHY

module Type.Eq.Higher where

data (f :: * -> *) ::~:: (g :: * -> *) where
    Eq1 :: (f ~ g) => f ::~:: g

data (m :: * -> * -> *) :::~::: (n :: * -> * -> *) where
    Eq2 :: (m ~ n) => m :::~::: n

data OuterEq1 (m :: * -> * -> *) (f :: * -> *) where
    OuterEq1 :: m a ~ f => OuterEq1 m f

data InnerEq1 (a :: *) (f :: * -> *) where
    InnerEq1 :: m a ~ f => InnerEq1 a f