Во время изучения IO Monad мы узнали кое-что об открытии и закрытии файловых дескрипторов. Одним полезным лакомым кусочком, который мы узнали из этого процесса, был шаблон скобки. Этот шаблон позволяет нам управлять приобретением и высвобождением ресурсов в нашей системе. Монада IO очень часто связана с внешними ресурсами, будь то файлы в нашей файловой системе или ресурсы операционной системы, такие как блокировки потоков и идентификаторы процессов.

Общее правило, стоящее за такого рода ресурсами, заключается в том, что мы не хотим, чтобы наша программа находилась в состоянии, когда они недоступны для кода. Другой способ сказать это, что…