2

我正在尝试查看是否可以使用捷径砍伐森林来砍伐 nqueens 程序,我正在使用的代码是,

n = 8  
nqueens 0 = [[]]  
nqueens k = [p:q | p <- [1..n], q <- nqueens (k-1), safe p q k]  

和安全的定义如常。

我尝试通过启用优化来查看 GHC 的输出,但这太难理解了。

谢谢你。

4

1 回答 1

1

你不需要只看核心。还有其他中间形式可能更有用。从文档:

使用调试标志 -ddump-simpl-stats 查看触发了哪些规则。如果您需要更多信息,那么 -ddump-rule-firings 会向您显示每个单独的规则触发,并且 -ddump-rule-rewrites 还会显示代码在重写之前和之后的样子

http://www.haskell.org/ghc/docs/7.4.1/html/users_guide/rewrite-rules.html

于 2013-07-19T15:14:06.577 回答