packages feed

hypertypes-0.1.0.2: test/LangD.hs

{-# LANGUAGE TemplateHaskell, UndecidableInstances #-}
module LangD where

import Hyper

newtype A i k = A (B i k)
newtype B i k = B (i (k :# A i))

makeHTraversableApplyAndBases ''B
makeHTraversableApplyAndBases ''A

newtype C (k :: AHyperType) = C (C k)
-- The following doesn't work:
-- makeHNodes ''C