0
以下代碼不能編譯。我收到一個類型錯誤。我認爲這將是更好的版本,因爲它明確地分開了兩種不同的情況... 該功能應該有助於確定有限狀態機是否接受輸入單詞。Haskell - 類型/模式匹配
import Text.Show.Functions
import qualified Data.Set as Set
import qualified Data.List as List
setTransition :: (Int -> Char -> [Int]) -> [Int] -> Char -> [Int]
setTransition delta [] sigma = []
setTransition delta [email protected][x:xs'] sigma = foldl f [] xs
where f ys q = (delta q sigma) `List.union` ys
這(刪除了模式匹配)但是編譯。有人可以告訴我爲什麼?
import Text.Show.Functions
import qualified Data.Set as Set
import qualified Data.List as List
setTransition :: (Int -> Char -> [Int]) -> [Int] -> Char -> [Int]
setTransition delta [] sigma = []
setTransition delta xs sigma = foldl f [] xs
where f ys q = (delta q sigma) `List.union` ys
THX幫助
'xs @(x:xs')',而不是'xs @ [x:xs']'。 – luqui 2013-02-21 18:17:20
啊..謝謝^^解決了問題... – 2013-02-21 18:20:01