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