为什么Haskell提示我输入符号'->'时出现解析错误?
Haskell文件运行解析错误排查方案
- 检查缩进是否异常:Haskell对缩进规则要求严格,若文件近期被编辑时意外修改了代码行的缩进空格数,或是将空格缩进替换为了制表符缩进,极易触发解析错误。可将文件所有缩进统一替换为4个空格,确保同层级代码块左对齐。
- 检查文件编码与不可见字符:若文件曾被其他编辑器打开,可能被自动添加了UTF-8 BOM头,或是插入了零宽空格、异常换行符等不可见字符。可使用支持显示不可见字符的纯文本编辑器打开文件,删除异常字符后重新保存为无BOM的UTF-8格式即可。
- 检查未闭合的语法标识:若上次编辑代码时未保存完整就退出,可能存在括号、引号、反引号等未闭合的语法符号,可重点排查报错提示行号前后3-5行的代码即可快速定位问题。
- 检查编译器与依赖变动:若近期更新过GHC、Haskell平台或是项目依赖包,部分旧版本支持的语法可能在新版本中被废弃,或是用到的语法扩展默认开关发生了变更。可在文件头部补充你用到的对应语法扩展声明,例如
{-# LANGUAGE OverloadedStrings #-}。
内容的提问来源于stack exchange,提问作者Mampenda
相关产品推荐
相关产品推荐

