summaryrefslogtreecommitdiff
path: root/testsuite/tests/polykinds/T6036.hs
blob: c64f4899b41041e71fd817916f1787870bec4343 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
{-# LANGUAGE DataKinds, TypeFamilies, PolyKinds, GADTs #-}

module T6036 where

data family Sing (a :: k)

data instance Sing (a :: Maybe k) where
  SNothing :: Sing 'Nothing
  SJust :: Sing b -> Sing ('Just b)

data Nat = Zero | Succ Nat

data instance Sing (a :: Nat) where
  SZero :: Sing Zero
  SSucc :: Sing n -> Sing (Succ n)

term = SJust SZero