Welcome in another topic I'd like to discuss. This time is not about what people do, it’s more about what they don’t do but I think they should. I’d like to make a brief motivation about supervision. Honestly, I have a feeling that supervision is one of the Akka's fundamental ideas which is not used as it should.
In this post we look at how we can use SBT's source generators to centrally manage library dependencies across a recursive SBT build. Our aim is to have a single location where library dependencies can be managed and to then have SBT plugin code, build code and source code be able to access the centrally managed ModuleIDs.
In my previous blog post we have discussed the evaluation strategies in Scala and the difference between call-by-value, call-by-name and call-by-need. Also, I have shown a small workaround for evaluating the arguments lazily (aka call-by-need). As previously presented, the workaround for call-by-need arguments consists of local lazy values which are initialised with the call-by-name arguments we want to be evaluated at most once: