{-# LANGUAGE DeriveDataTypeable, FlexibleInstances, MultiParamTypeClasses, OverloadedStrings, TemplateHaskell, TypeSynonymInstances #-} module TH.APIs where import Language.Haskell.TH import qualified Data.TH.API as TH import Data.TH.Convert () import TH.API $(do runIO $ putStrLn "API generation" apis <- generateAPIs "apis" runIO . putStrLn $ "..Generated " ++ (show . length $ apis) ++ " apis" runIO $ putStrLn "..Done" return $ foldr (\(TH.API _ (TH.APIInput _ _ _ iDecs) (TH.APIOutput _ _ _ oDecs)) a -> iDecs ++ oDecs ++ a) [] apis )