You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Shakefile.hs currently has runhaskell applied to it. It should probably compile to somewhere (maybe $TEMP? maybe .shake in the current directory?). Probably best to use ghc --make normally, or ghc-make if it is on the $PATH.
The text was updated successfully, but these errors were encountered:
We can write our own ghc -M thing, but that's a lot of fragile code to deal with TemplateHaskell, head files etc. It's basically all of https://github.com/ndmitchell/ghc-make. I think it's too complex to be feasible.
We can do what we do now, and just runhaskell it every time. Using the demo program (on the basis users with huge build scripts are going to do their own thing anyway) it takes 0.6s.
We can runhaskell, but also ask it to compile to object code and store that code somewhere. That segfaults in GHC 8.6.3 on Windows due to https://ghc.haskell.org/trac/ghc/ticket/16057, but with 8.4 it takes 0.75 to build and 0.58 to run.
We can run ghc --make takes 3.52s to compile GHC, 0.154 to do nothing, followed by 0.03s to execute it subsequently.
So only 2 and 4 make sense, and we're trading 0.6s vs 3.5s first and 0.15s subsequently. The other disadvantage of 4 is it writes to the file system. If those numbers are typical, I'd suggest we stick with 2. If those numbers change to be quite large quite rapidly for even moderately sized build systems, I'd go with 4.
Shakefile.hs currently has
runhaskell
applied to it. It should probably compile to somewhere (maybe$TEMP
? maybe.shake
in the current directory?). Probably best to useghc --make
normally, orghc-make
if it is on the$PATH
.The text was updated successfully, but these errors were encountered: