Как я могу определить, когда вычисляется выражение?

Я недавно изучал haskell, и я понимаю концепцию ленивого вычисления в целом. Одна вещь, которую я обнаружил, заключается в том, что часто трудно понять, когда именно выражение будет оцениваться.

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

5
задан Cercerilla 17 March 2011 в 18:58
поделиться