应用程序类型中的类型错误不匹配
nextMyStates :: MyState -> [MyState]
nextMyStates(s) =[up(s),down(s),left(s),right(s),collect(s)]
isGoal :: MyState -> Bool
isGoal (S (l) (al) d z) = if al == [] then True else False
search :: [MyState] -> MyState
search (s:sz) | isGoal s = s
| otherwise = search (sz) ++ nextMyStates s
我正在尝试运行此类型错误,但出现此类型错误,
Type error in application
*** Expression : search sz ++ nextMyStates s
*** Term : search sz
*** Type : MyState
*** Does not match : [MyState]
我认为此符号(S:SZ)意味着SZ是一个由头部以外的元素组成的列表
nextMyStates :: MyState -> [MyState]
nextMyStates(s) =[up(s),down(s),left(s),right(s),collect(s)]
isGoal :: MyState -> Bool
isGoal (S (l) (al) d z) = if al == [] then True else False
search :: [MyState] -> MyState
search (s:sz) | isGoal s = s
| otherwise = search (sz) ++ nextMyStates s
I am trying to run this but this type error comes up
Type error in application
*** Expression : search sz ++ nextMyStates s
*** Term : search sz
*** Type : MyState
*** Does not match : [MyState]
I thought this notation (s:sz) meant the sz is a list consisting of the rest of the elements besides the head but it says it is a single element not a list
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论