blob: 8d71ca925e5ab0cdd7e7e041012deae18ee81f07 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
{-# LANGUAGE RankNTypes #-}
{-# LANGUAGE PolyKinds #-}
{-# LANGUAGE DataKinds #-}
{-# LANGUAGE TypeFamilies #-}
module T19615 where
import GHC.Exts
class Call (r :: RuntimeRep) where
type Lev (a :: TYPE r)
lift' :: (a :: TYPE r) -> (Lev a -> b) -> b
mapF :: forall r' (a :: TYPE r) (b :: TYPE r'). Call r' => (a -> b) -> Lev a -> Lev b
instance Call LiftedRep where
type Lev a = a
lift' a k = k a
mapF f x = lift' (f x) id
|