packages feed

th-expand-syns-0.1: testing/Main.hs

{-# LANGUAGE TemplateHaskell #-}
{-# LANGUAGE RankNTypes #-}
{-# LANGUAGE KindSignatures #-}
module Tests where

import ExpandSyns
import Language.Haskell.TH
import Language.Haskell.TH.Syntax
    
-- type A = forall a. B a; type B a = Maybe a; expand [t|B A|]

type A x = [x] 
type B f = forall x. f x 
type C f = f Integer


foo = $(    lift . show 
            =<< expandSyns 
            =<< [t| (forall a. Show a => a -> B [] -> (Int,C [])) |]
       )