當實現DFS算法時,我得使用命令性的功能。下面是代碼haskell中的模式解析錯誤
type ST s a = s -> (a, s)
returnST :: a -> ST s a
returnST a s = (a, s)
thenST :: ST s a -> (a -> ST s b) -> ST s b
(m 'thenST' k) s = k a t where (a, t) = m s
但GHCI 6.12.3給我一個「解析錯誤的模式」中的最後一行代碼。我從一篇論文中得到這段代碼。現在文章作者使用的編譯器是否有可能沒有嚴格的語法規則?以及如何解決這個錯誤?
你知道DFS不需要可變狀態,對嗎?你的第一句話意味着否則。 – 2011-05-02 17:01:17
@TomMD我剛讀了一篇文章,想要實現他的想法。 – machinarium 2011-05-03 00:33:54