packages feed

haskell-src-exts-1.24.0: tests/examples/RoleAnnotations.hs

{-# LANGUAGE RoleAnnotations, PolyKinds, KindSignatures #-}

module Roles where

data T1 a = K1 a
data T2 a = K2 a

data T5 a = K5 a
data T6 a = K6
data T7 a b = K7 b

type role T1 nominal
type role T2 representational
type role T3 phantom
type role T4 nominal _
type role T5   _