Implement Refl in deriveNT
[nt-coerce.git] / GHC / NT.hs
1 {-# OPTIONS_GHC -fplugin GHC.NT.Plugin #-}
2
3 module GHC.NT (NT, coerce, refl, sym, trans, deriveThisNT) where
4
5 import GHC.NT.Type
6
7 coerce :: NT a b -> a -> b
8 coerce = error "GHC.NT.coerce"
9
10 refl   :: NT a a
11 refl = error "GHC.NT.refl"
12
13 sym    :: NT a b -> NT b a
14 sym = error "GHC.NT.sym"
15
16 trans  :: NT a b -> NT b c -> NT a c
17 trans = error "GHC.NT.trans"
18
19 deriveThisNT :: a
20 deriveThisNT = error "left over deriveThis. Did GHC.NT.Plugin run?"
21 {-# NOINLINE deriveThisNT #-}
22