-- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ -- | Data To Class transformation. -- -- Transform data declarations to class definitions. -- -- The way is explained in Data Declarations to Class Definitions. -- You can find more information in the homepage of the package. -- -- Changes from last version: -- -- @package DTC @version 1.0.1 -- | Some useful functions. module Language.Haskell.DTC.Mod -- | Lift a function over [HsDecl] to a function -- over HsModule. modifyHsDecls :: ([HsDecl] -> [HsDecl]) -> (HsModule -> HsModule) -- | Skip a bang in a type. unBangType :: HsBangType -> HsType -- | Lift a function over String to a function over HsName. modifyHsName :: (String -> String) -> (HsName -> HsName) -- | Class definition from a data declaration. module Language.Haskell.DTC.Class -- | Transform a data declaration to a class definition. The String -- argument will be the name of the type variable of the class -- definition. dataToClassWith :: String -> HsDecl -> HsDecl -- | Transform a data declaration to a class definition. Equivalent to -- dataToClassWith "t". dataToClass :: HsDecl -> HsDecl -- | All you need to parse a module. module Language.Haskell.DTC.Parser -- | The result of a parse. data ParseResult a :: * -> * -- | A Haskell source module. data HsModule :: * -- | Parse of a string, which should contain a complete Haskell 98 module. parseModule :: String -> ParseResult HsModule -- | parseModuleWithFN fileName module parse module with -- a fileName associated. parseModuleWithFN :: FilePath -> String -> ParseResult HsModule -- | Parse a module from a source code file. It throws an error if parsing -- fails. parseModuleWithSrc :: FilePath -> IO HsModule -- | Main module of DTC. module Language.Haskell.DTC