[GHC] #13152: Provide a mechanism to notify build system when .hi file is ready

GHC ghc-devs at haskell.org
Thu Jan 19 22:22:00 UTC 2017


#13152: Provide a mechanism to notify build system when .hi file is ready
-------------------------------------+-------------------------------------
        Reporter:  rwbarton          |                Owner:
            Type:  feature request   |               Status:  new
        Priority:  normal            |            Milestone:  8.2.1
       Component:  Driver            |              Version:  8.1
      Resolution:                    |             Keywords:
Operating System:  Unknown/Multiple  |         Architecture:
                                     |  Unknown/Multiple
 Type of failure:  None/Unknown      |            Test Case:
      Blocked By:                    |             Blocking:
 Related Tickets:                    |  Differential Rev(s):
       Wiki Page:                    |
-------------------------------------+-------------------------------------

Comment (by rwbarton):

 Hmm, I'm not familiar with Buck at all, but could you have an encoding
 with two commands per module, a command-to-build-`.hi` and a command-to-
 build-`.o`? In reality the command-to-build-`.hi` exits when ghc reports
 that it is done writing the `.hi` file but leaves ghc running in the
 background to finish building the `.o` file, and the command-to-build-`.o`
 just blocks until that finishes. The command-to-build-`.hi` only depends
 on other command-to-build-`.hi`s. That's how my `make` encoding really
 works anyways. Probably in a more sophisticated system you could express
 the idea of a command that produces two resources at different times
 directly.

 In fact, now that I look at my `make` example again, it seems one wouldn't
 even need a server to do the blocking; probably advisory file locks are
 enough.

--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/13152#comment:6>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler


More information about the ghc-tickets mailing list