haskell-names-0.5.0: Name resolution library for Haskell

Safe HaskellNone
LanguageHaskell2010

Language.Haskell.Names.Interfaces

Contents

Description

Reading Symbols from and writing to interface files

Synopsis

High-level interface

newtype NamesDB Source

The database used by hs-gen-iface. Use it together with functions from Distribution.HaskellSuite.Packages.

Constructors

NamesDB FilePath 

Instances

runNamesModuleT :: ModuleT [Symbol] IO a -> Packages -> Map ModuleName [Symbol] -> IO (a, Map ModuleName [Symbol]) Source

Specialized version of runModuleT that works with name files

evalNamesModuleT :: ModuleT [Symbol] IO a -> Packages -> IO a Source

Specialized version of evalModuleT that works with name files

Low-level interface

readInterface :: FilePath -> IO [Symbol] Source

Read an interface file

writeInterface :: FilePath -> [Symbol] -> IO () Source

Write an interface file

Exceptions

data IfaceException Source

Constructors

BadInterface FilePath String

Interface could not be parsed. This tells you the file name of the interface file and the parse error text.