„По-рано тази седмица“ научихме за абстракцията Handle, която ни помага да се справяме с файлове в Haskell. Важна част от тази абстракция е, че манипулаторите са или „отворени“, или „затворени“. Днес ще разгледаме няколко идеи, които да ни помогнат да се справим с дръжките за отваряне и затваряне по-грациозно.

Когато за първи път получим дръжка, тя е „отворена“. След като приключим с него, можем (и трябва) да го „затворим“, така че другите части на нашата програма да могат да го използват безопасно. Затваряме манипулатор с функцията hClose:

hClose :: Handle -> IO ()