You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Haskell源码文件中引入模块?import出现解析错误怎么办?

Haskell 模块引入语法及 import 解析错误解决方法

正确的模块引入语法

Haskell 要求所有 import 语句必须放置在模块声明之后、业务代码之前,完整的合法文件结构如下:

-- 可选的模块声明,省略时默认是 module Main where
module Main where

-- 所有 import 语句必须放在这个位置,顶格书写
import Data.Maybe

-- 后续才可以写自定义函数、main 函数等业务代码
main :: IO ()
main = print $ fromJust (Just "test")

报错排查步骤

你遇到的 parse error on input 'import' 报错,基本都是位置或格式问题,按以下顺序排查即可:

  • 检查 import 语句的位置:确认 import 语句上方除了可选的模块声明外,没有其他任何代码(注释不会影响,但函数定义、变量声明、main 函数写在 import 前面都会直接触发报错)。
  • 检查缩进:确认 import 语句是顶格书写的,没有前置的空格或制表符,Haskell 对缩进敏感,错误缩进会直接导致解析失败。
  • 检查隐藏字符:如果是复制粘贴的 import 语句,可能携带零宽空格、BOM 头等不可见字符,可以手动删除整行重新手写测试。
  • 检查特殊导入写法:如果用了别名导入、限定导入等写法,确认语法符合你使用的 GHC 版本要求,基础导入一般不会触发版本兼容问题。

内容的提问来源于stack exchange,提问作者user202004

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.01 02:48:02