{-# LANGUAGE FlexibleInstances, FunctionalDependencies #-} module Language.Asm.Inline.AsmCode where import Language.Haskell.TH.Syntax class AsmCode tyAnn code | code -> tyAnn, tyAnn -> code where codeToString :: tyAnn -> code -> String toTypeQ :: tyAnn -> Q Type instance AsmCode (Q Type) String where codeToString :: Q Type -> String -> String codeToString Q Type _ = String -> String forall a. a -> a id toTypeQ :: Q Type -> Q Type toTypeQ = Q Type -> Q Type forall a. a -> a id