summaryrefslogtreecommitdiff
path: root/testsuite/tests/polykinds/PolyKinds01.hs
blob: 918e5a9a44a6cac5f8391bd297a025e724d61273 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
{-# LANGUAGE DataKinds                  #-}
{-# LANGUAGE KindSignatures             #-}
{-# LANGUAGE GADTs                      #-}

module PolyKinds01 where

data Nat = Ze | Su Nat

data Vec :: * -> Nat -> * where
  VNil  :: Vec a Ze
  VCons :: a -> Vec a n -> Vec a (Su n)

vec :: Vec Nat (Su Ze)
vec = VCons Ze VNil