[GHC] #4900: DEPENDS pragma
GHC
cvs-ghc at haskell.org
Mon Sep 5 03:22:40 CEST 2011
#4900: DEPENDS pragma
---------------------------------+------------------------------------------
Reporter: cdsmith | Owner:
Type: feature request | Status: new
Priority: normal | Milestone: 7.4.1
Component: Build System | Version:
Keywords: | Testcase:
Blockedby: | Difficulty:
Os: Unknown/Multiple | Blocking:
Architecture: Unknown/Multiple | Failure: None/Unknown
---------------------------------+------------------------------------------
Comment(by GregWeber):
Hi GHC,
I just did a [blog post](http://www.yesodweb.com/blog/2011/09/limitations-
of-haskell)
that will end up getting me involved with making GHC a little bit better.
There is a discussion on that site and on
[Reddit](http://www.reddit.com/r/haskell/comments/k4lc4/yesod_the_limitations_of_haskell/)
that is mostly about records right now.
From the above blog post:
<pre>
Template Haskell (TH) that performs IO does not automatically recompile
itself when it should. In Yesod we have proved the value of having
compile-time templates in external files. This puts Haskell on par with
dynamic languages in terms of ease of using templates. It actually puts
Haskell in a much better position because the templates are evaluated for
errors at compile time. But when an external hamlet template changes, it
won't automatically get recompiled by ghc. We are able to work around this
in our development environment by watching for changes to external
templates. However, this is a frail solution, and we believe that GHC
should provide this capability for us. We want to have a function loadQQ,
which takes a quasi-quoter and a file path. loadQQ will automatically
recompile the hs file when the quasi-quoted file has changed.
</pre>
Note that I am not expecting GHC to necessarily implement a loadQQ
function, but just some primitive that would allow us to write a loadQQ
function. cdsmith says:
<pre>
Sure, the alternative (to the proposal in this ticket) of course would be
that TH's Q monad would get something like "addDependentFile" that would
write info into the result (presumably the hi file?) indicating that this
relationship exists.
</pre>
--
Ticket URL: <http://hackage.haskell.org/trac/ghc/ticket/4900#comment:3>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the Glasgow-haskell-bugs
mailing list