summaryrefslogtreecommitdiff
path: root/testsuite/tests/rep-poly/RepPolyMcGuard.hs
blob: 8977c6bc29f6e4c3e40f4563f31c69a1a94fc97c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
{-# LANGUAGE MagicHash #-}
{-# LANGUAGE MonadComprehensions #-}
{-# LANGUAGE PolyKinds #-}
{-# LANGUAGE RebindableSyntax #-}
{-# LANGUAGE ScopedTypeVariables #-}

module RepPolyMcGuard where

import Data.Kind ( Type )
import GHC.Exts
import Prelude ( Bool(..), undefined )

(>>)
  :: forall
        rep
        ( ma :: TYPE rep )
        ( a  :: Type )
        ( mb :: TYPE rep )
        ( mc :: TYPE rep )
  .  ma -> ( a -> mb ) -> mc
(>>) = undefined

guard :: forall rep (a :: TYPE rep) (b :: TYPE rep). a -> b
guard = undefined

return :: forall rep (ma :: TYPE rep). () -> ma
return = undefined

foo :: forall rep (ma :: TYPE rep). () -> ma
foo _ = [ () | undefined ]