Я недавно изучал haskell, и я понимаю концепцию ленивого вычисления в целом. Одна вещь, которую я обнаружил, заключается в том, что часто трудно понять, когда именно выражение будет оцениваться.
Есть ли хороший способ получить информацию о том, что именно происходит с точки зрения оценки? В идеале я хотел бы видеть что-то вроде трассировки стека или списка зависимостей, который показывает, когда нужно вычислить выражение и какие другие выражения, от которых оно зависит, должны быть вычислены.