just a quick heads-up that I'm about to push and merge a medium-sized PR which removes entirely the need for a SupervisionSpec. The more I program in Haskell the more I appreciate the value and solidity of simple abstractions. The SupervisionSpec was since the beginning a bit of a smelly data structure, and I have later realised it's actually very dangerous to use! Due to the fact users of the library can create multiple Supervisor(s) from the same spec, and due to the fact newSupervisor actually dupChan the eventStream, you can get into weird situation, especially regarding monitoring supervisors, which I have successfully implemented in this upcoming patch.
I hope this won't make you too grumpy, but it was necessary to make this library really useful!
Hey @srijs ,
just a quick heads-up that I'm about to push and merge a medium-sized PR which removes entirely the need for a
SupervisionSpec
. The more I program in Haskell the more I appreciate the value and solidity of simple abstractions. TheSupervisionSpec
was since the beginning a bit of a smelly data structure, and I have later realised it's actually very dangerous to use! Due to the fact users of the library can create multipleSupervisor
(s) from the same spec, and due to the factnewSupervisor
actuallydupChan
the eventStream, you can get into weird situation, especially regarding monitoring supervisors, which I have successfully implemented in this upcoming patch.I hope this won't make you too grumpy, but it was necessary to make this library really useful!