
Hi Joachim,
that's right thanks, but I was looking for a way to do that from a program.
ghc-pkg does not seems to expose any library...
On Wed, Mar 20, 2013 at 11:23 PM, Joachim Breitner wrote: Hi, Am Mittwoch, den 20.03.2013, 00:34 +0100 schrieb Corentin Dupont: Hi Cafe!
I'm looking for how to extract the exposed modules (as a list of
strings) from an installed library, giving the library name.
I can see some structures in Cabal (InstalledPackageInfo) and some
functions in ghc-pkg.hs in GHC, but nothing readily useable... $ ghc-pkg field base exposed-modules
exposed-modules: Foreign.Concurrent GHC.Arr GHC.Base GHC.Char
GHC.Conc GHC.Conc.IO GHC.Conc.Signal GHC.Conc.Sync
GHC.ConsoleHandler GHC.Constants GHC.Desugar GHC.Enum
GHC.Environment GHC.Err GHC.Exception GHC.Exts
GHC.Fingerprint
GHC.Fingerprint.Type GHC.Float GHC.Float.ConversionUtils
GHC.Float.RealFracMethods GHC.Foreign GHC.ForeignPtr
GHC.Generics
GHC.GHCi GHC.Handle GHC.IO GHC.IO.Buffer
GHC.IO.BufferedIO
GHC.IO.Device GHC.IO.Encoding GHC.IO.Encoding.CodePage
GHC.IO.Encoding.Failure GHC.IO.Encoding.Iconv
GHC.IO.Encoding.Latin1 GHC.IO.Encoding.Types
GHC.IO.Encoding.UTF16
GHC.IO.Encoding.UTF32 GHC.IO.Encoding.UTF8
GHC.IO.Exception
GHC.IO.FD GHC.IO.Handle GHC.IO.Handle.FD
GHC.IO.Handle.Internals
GHC.IO.Handle.Text GHC.IO.Handle.Types GHC.IO.IOMode
GHC.IOArray
GHC.IOBase GHC.IORef GHC.IP GHC.Int GHC.List GHC.MVar
GHC.Num
GHC.PArr GHC.Pack GHC.Ptr GHC.Read GHC.Real GHC.STGHC.Stack
GHC.Stats GHC.Show GHC.Stable GHC.Storable GHC.STRef
GHC.TypeLits
GHC.TopHandler GHC.Unicode GHC.Weak GHC.Word
System.Timeout
GHC.Event Control.Applicative Control.Arrow
Control.Category
Control.Concurrent Control.Concurrent.Chan
Control.Concurrent.MVar
Control.Concurrent.QSem Control.Concurrent.QSemN
Control.Concurrent.SampleVar Control.Exception
Control.Exception.Base Control.Monad Control.Monad.Fix
Control.Monad.Instances Control.Monad.STControl.Monad.ST.Safe
Control.Monad.ST.Unsafe Control.Monad.ST.Lazy
Control.Monad.ST.Lazy.Safe Control.Monad.ST.Lazy.Unsafe
Control.Monad.ST.Strict Control.Monad.Zip Data.Bits
Data.Bool
Data.Char Data.Complex Data.Dynamic Data.Either Data.Eq
Data.Data
Data.Fixed Data.Foldable Data.Function Data.Functor
Data.HashTable
Data.IORef Data.Int Data.Ix Data.List Data.Maybe
Data.Monoid
Data.Ord Data.Ratio Data.STRef Data.STRef.Lazy
Data.STRef.Strict
Data.String Data.Traversable Data.Tuple Data.Typeable
Data.Typeable.Internal Data.Unique Data.Version Data.Word
Debug.Trace Foreign Foreign.C Foreign.C.Error
Foreign.C.String
Foreign.C.Types Foreign.ForeignPtr Foreign.ForeignPtr.Safe
Foreign.ForeignPtr.Unsafe Foreign.Marshal
Foreign.Marshal.Alloc
Foreign.Marshal.Array Foreign.Marshal.Error
Foreign.Marshal.Pool
Foreign.Marshal.Safe Foreign.Marshal.Utils
Foreign.Marshal.Unsafe
Foreign.Ptr Foreign.Safe Foreign.StablePtr
Foreign.Storable Numeric
Prelude System.Console.GetOpt System.CPUTime
System.Environment
System.Exit System.IO System.IO.Error System.IO.Unsafe
System.Info
System.Mem System.Mem.StableName System.Mem.Weak
System.Posix.Internals System.Posix.Types
Text.ParserCombinators.ReadP
Text.ParserCombinators.ReadPrec
Text.Printf Text.Read Text.Read.Lex Text.Show
Text.Show.Functions
Unsafe.Coerce Greetings,
Joachim --
Joachim "nomeata" Breitner
Debian Developer
nomeata@debian.org | ICQ# 74513189 | GPG-Keyid: 4743206C
JID: nomeata@joachim-breitner.de | http://people.debian.org/~nomeata _______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe