You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
--^ Run invariant checks and err if violated (enabled by any debug flag)
| DebugFinal
--^ Show completely normalized expressions
| DebugName
--^ Show names of applied transformations
| DebugTry
--^ Show names of tried AND applied transformations
| DebugApplied
--^ Show sub-expressions after a successful rewrite
| DebugAll
--^ Show all sub-expressions on which a rewrite is attempted
deriving (Eq,Ord,Read,Enum,Generic,Hashable)
PR #1647 will add yet another one. We're currently using Ord to determine whether an option is enabled (well, most of the time). The number of debug options has outgrown this strategy. For example; enabling a count summary should probably not affect whether the core of a normalized binder is printed.
The text was updated successfully, but these errors were encountered:
With the old DebugLevel type for setting debug options, it was not possible to set certain debug options without implying others, i.e. counting transformations was not possible without also printing at least the final normalized core for a term. It is now possible to set options individually with new flags:
-fclash-debug-invariants to check invariants and print warnings / errors
-fclash-debug-info to choose how much information to show about individual transformations
-fclash-debug-count-transformations to print a tally of each transformation applied
The old -fclash-debug flag is still available for backwards compatibility, and each DebugLevel is now a synonym for setting these options together.
Over time we've added more and more debug levels:
clash-compiler/clash-lib/src/Clash/Driver/Types.hs
Lines 81 to 97 in 5eee599
PR #1647 will add yet another one. We're currently using
Ord
to determine whether an option is enabled (well, most of the time). The number of debug options has outgrown this strategy. For example; enabling a count summary should probably not affect whether the core of a normalized binder is printed.The text was updated successfully, but these errors were encountered: