packages feed

inventory-0.1.0.0: test/HieSource/T17.hs

{-# LANGUAGE PatternSynonyms #-}
{-# LANGUAGE TypeFamilies #-}
{-# LANGUAGE StandaloneDeriving #-}
module HieSource.T17
  ( foo
  , D(..)
  , T(..)
  , C
  , TF
  , TF'
  , pattern P
  , TS
  ) where

import           Data.Void

data D = D { a :: Void, b :: Int }

deriving instance Show D

newtype T = T { unT :: Int }
  deriving (Eq, Show)

class C a where

instance C Int

type family TF a

type instance TF Bool = Int

type family TF' a where
  TF' Bool = Int

foo :: a -> a
foo = id

pattern P :: Int
pattern P = 4

type TS = ()