Yeah, one thing I've wanted shake integration for is providing is collection and display of performance stats - a coarse impression of where time is spent.
Thing is, we really aren't dealing with a make-like build system involving a variety of different interdependent tasks. This is shake's killer app / intended domain. Instead, we've just got some cabal builds to do. The implementation of concurrently executing such tasks is very simple: https://github.com/commercialhaskell/stack/blob/master/src/Control/Concurrent/Execute.hs So I'm also not sure if it's the right decision, but I'm not sure how much it matters. Stack is a lot more than just the "do build steps" bit, though that is certainly the core. It could be interesting to consider how difficult it would be to switch some choice bits over to shake, but I'd want to see a couple convincing advantages, and I'd hope for the code impact to be low. Reuse of the performance stats stuff is one potential advantage. -Michael On Sat, Jul 9, 2016 at 10:56 AM, Michael Snoyman <[email protected]> wrote: > It wasn't made for deep reasons, it was very likely done for bad reasons > driven by Chris and my lack of experience with Shake when working on the > initial Stack code. We had a lot of trouble getting reliably coordination > between Stack's, Cabal's, and (to a lesser extent) GHC's dependency > tracking, and adding in an extra layer we didn't have full understanding of > made it worse. I have no idea if using Shake would have been better or > worse in the end, but doing it manually - a way Chris and I had a lot of > experience with - was the less risky path. > > I _will_ say that on other customer projects, we use Shake extensively, so > don't take the lack of usage in Stack as an aversion to Shake. It was just > a pragmatic decision when we were trying to churn out a first version > quickly. > > On Sat, Jul 9, 2016 at 3:00 AM, Edward Yang <[email protected]> wrote: > >> This is not meant as a leading question, I am just curious and would like >> to know more. >> >> According to >> https://github.com/commercialhaskell/stack/wiki/Stack's-origins Stack >> used to use Shake. Looking at the dependencies of Stack, it no longer does >> so. What caused you to rebuild the functionality of Stack into Shake? >> >> -- >> You received this message because you are subscribed to the Google Groups >> "haskell-stack" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to [email protected]. >> To post to this group, send email to [email protected]. >> To view this discussion on the web visit >> https://groups.google.com/d/msgid/haskell-stack/5c46f622-a261-487b-96fd-3c9a86edb4ce%40googlegroups.com >> <https://groups.google.com/d/msgid/haskell-stack/5c46f622-a261-487b-96fd-3c9a86edb4ce%40googlegroups.com?utm_medium=email&utm_source=footer> >> . >> For more options, visit https://groups.google.com/d/optout. >> > > -- > You received this message because you are subscribed to the Google Groups > "haskell-stack" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > To post to this group, send email to [email protected]. > To view this discussion on the web visit > https://groups.google.com/d/msgid/haskell-stack/CAKA2Jg%2BdzK7rBp9cJ6aLF1UbkBRkntFDWpnxa4KGbQ2VXCgVhQ%40mail.gmail.com > <https://groups.google.com/d/msgid/haskell-stack/CAKA2Jg%2BdzK7rBp9cJ6aLF1UbkBRkntFDWpnxa4KGbQ2VXCgVhQ%40mail.gmail.com?utm_medium=email&utm_source=footer> > . > > For more options, visit https://groups.google.com/d/optout. > -- You received this message because you are subscribed to the Google Groups "haskell-stack" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/haskell-stack/CAEYHaY52y5QuFu1QL3fTcgKE57F4hTzT5Au9Vc3Nr6gAstoixA%40mail.gmail.com. For more options, visit https://groups.google.com/d/optout.
