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