В настоящее время я работаю через SICP с Haskell. Упражнение 1.15 спрашивает, сколько раз вызывается функция. Идея, вероятно, в том, что вы должны использовать метод подстановки, но я хотел бы знать, как это сделать в коде.
На императивном языке можно хранить глобальную переменную и увеличивать ее каждый раз, когда вызывается функция. Но как бы вы это сделали в Haskell (или чисто функциональном)?