Discovery of source dependencies without --make

Simon Peyton Jones simonpj at microsoft.com
Fri Nov 28 16:52:48 UTC 2014


I suppose that if --make found Foo.hi, but no Foo.hs, it could simply use the Foo.hi.  That would do strictly more than now. I don't know if there would be any disadvantages.

Augmenting --make's semantics sounds better to me than inventing a new compilation mode.

Maybe a feature request ticket.  Then if people like it maybe someone can implement it.

Simon

|  -----Original Message-----
|  From: Glasgow-haskell-users [mailto:glasgow-haskell-users-
|  bounces at haskell.org] On Behalf Of Lars Hupel
|  Sent: 28 November 2014 16:26
|  To: Simon Peyton Jones
|  Cc: glasgow-haskell-users at haskell.org
|  Subject: Re: Discovery of source dependencies without --make
|  
|  > How does that differ from ghc --make?  The only difference I can see
|  is that
|  >   - Modules that --make might find, but not listed on
|  >     the command line, would not be compiled by --topo-sort
|  
|  "--make" always requires a full view on all sources. That is, any
|  imports which cannot be resolved from the package database are assumed
|  to exist as source files. Imagine the following situation:
|  
|  A.hs
|  > module A where
|  >
|  > import B
|  > import Library
|  
|  B.hs
|  > module B where
|  
|  If I compile these two with "--make", it also needs "Library.hs" as
|  input. If I compile them without "--make", it just needs the interface
|  ("Library.hi") as additional input.
|  
|  Concretely, assuming that only "path/Library.hi" exists, this fails:
|  
|    ghc -c -ipath --make A.hs B.hs
|  
|  In contrast to that, I propose that this should work:
|  
|    ghc -c -ipath --topo-sort A.hs B.hs
|  _______________________________________________
|  Glasgow-haskell-users mailing list
|  Glasgow-haskell-users at haskell.org
|  http://www.haskell.org/mailman/listinfo/glasgow-haskell-users


More information about the Glasgow-haskell-users mailing list