summaryrefslogtreecommitdiff
path: root/testsuite/tests/rep-poly/T18170a.hs
blob: 567dce7c0140358a6b6b783eeba028a9480fc29e (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
{-# LANGUAGE KindSignatures #-}
{-# LANGUAGE MagicHash #-}
{-# LANGUAGE PolyKinds #-}
{-# LANGUAGE ScopedTypeVariables #-}
{-# LANGUAGE TemplateHaskell #-}

module T18170a where

import Language.Haskell.TH.Lib

import T18170c

import Data.Proxy
import GHC.Exts
import GHC.Types


-- Generating a monomorphic program is sound, and hence a workaround for
-- normal representation polymorphic restrictions.

workaround1 :: Int
workaround1 = $$repPolyApp id 5

workaround2 :: () -> Int#
workaround2 _ = $$repPolyApp ( \ (x :: Int#) -> x +# 6# ) 11#