X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=GHC%2FHetMet%2FCodeTypes.hs;h=5e650408bbd3541626a40ee9d4fe9899cfc85f4f;hb=671fdd151ac7f8e4c67f1a2b55189cc48f2e5983;hp=18d85792ca02d1f2fd6677d3db8d74060e3fd58e;hpb=5473657eb7aadc0b8da9370c4e0bed87b2f66513;p=ghc-base.git diff --git a/GHC/HetMet/CodeTypes.hs b/GHC/HetMet/CodeTypes.hs index 18d8579..5e65040 100644 --- a/GHC/HetMet/CodeTypes.hs +++ b/GHC/HetMet/CodeTypes.hs @@ -12,26 +12,34 @@ module GHC.HetMet.CodeTypes ( hetmet_brak, hetmet_esc, hetmet_csp, + hetmet_kappa, + hetmet_kappa_app, GuestIntegerLiteral, guestIntegerLiteral, GuestStringLiteral, guestStringLiteral, GuestCharLiteral, guestCharLiteral ) where -hetmet_brak :: forall (c :: * -> * -> *). forall a. a -> <[a]>@c +hetmet_brak :: forall (c :: * -> * -> *). forall a. a -> <{a}>@c hetmet_brak = Prelude.error "hetmet_brak should never be evaluated; did you forget to compile with -fcoqpass?" -hetmet_esc :: forall (c :: * -> * -> *). forall a. <[a]>@c -> a +hetmet_esc :: forall (c :: * -> * -> *). forall a. <{a}>@c -> a hetmet_esc = Prelude.error "hetmet_esc should never be evaluated; did you forget to compile with -fcoqpass?" hetmet_csp :: forall (c :: * -> * -> *). forall a. a -> a hetmet_csp = Prelude.error "hetmet_csp should never be evaluated; did you forget to compile with -fcoqpass?" +hetmet_kappa :: forall a b c . (( () -> a ) -> ( b -> c )) -> ( (a,b) -> c ) +hetmet_kappa = Prelude.error "hetmet_kappa should never be evaluated; did you forget to compile with -fcoqpass?" + +hetmet_kappa_app :: forall a b c . ( (a,b) -> c ) -> ( () -> a ) -> ( b -> c ) +hetmet_kappa_app = Prelude.error "hetmet_kappa_app should never be evaluated; did you forget to compile with -fcoqpass?" + -- Technically these functions ought to be invoked *during -- compilation*; in the future I would like to use Template Haskell to -- do that. class GuestIntegerLiteral c where - guestIntegerLiteral :: Integer -> <[ Integer ]>@c + guestIntegerLiteral :: Integer -> <{ Integer }>@c class GuestStringLiteral c where - guestStringLiteral :: String -> <[ String ]>@c + guestStringLiteral :: String -> <{ String }>@c class GuestCharLiteral c where - guestCharLiteral :: Char -> <[ Char ]>@c + guestCharLiteral :: Char -> <{ Char }>@c