2
我想看看是否nqueens程序可以使用短砍濫伐被砍伐, 我使用的代碼,我們是否可以通過砍伐森林砍伐森林來砍伐森林?
n = 8
nqueens 0 = [[]]
nqueens k = [p:q | p <- [1..n], q <- nqueens (k-1), safe p q k]
和安全的定義如常。
我試着通過優化來看GHC的輸出,但它太難理解了。
謝謝。
我想看看是否nqueens程序可以使用短砍濫伐被砍伐, 我使用的代碼,我們是否可以通過砍伐森林砍伐森林來砍伐森林?
n = 8
nqueens 0 = [[]]
nqueens k = [p:q | p <- [1..n], q <- nqueens (k-1), safe p q k]
和安全的定義如常。
我試着通過優化來看GHC的輸出,但它太難理解了。
謝謝。
你不需要看看核心。還有其他中間形式可能更有用。從文檔:
使用調試標誌-ddump-simpl-stats查看觸發了哪些規則。如果您需要了解更多信息,然後-ddump規則,點火會顯示每個單獨規則觸發和-ddump-規則重寫也顯示了代碼的樣子和之前重寫後
http://www.haskell.org/ghc/docs/7.4.1/html/users_guide/rewrite-rules.html
謝謝非常值得指出這一點。我猜ddump-rule-rewrites在我使用的版本中不存在。 – prasannak