Haskell和Visual Studio代码错误

Haskell和Visual Studio代码错误,haskell,visual-studio-code,Haskell,Visual Studio Code,我开始学习Haskel编程语言,并决定使用Visual Studio代码。 我在VS中正确安装了haskell和stack以及一些haskell扩展 当我创建一个项目并将Lib.hs导入Main.hs时,编译器会抛出错误,就像它无法识别Lib模块一样。 代码可以执行,但VS中的错误仍然表明它们无法识别Lib模块中的函数 在附件中,我给出了一些例子和图片中的错误 Lib.hs: module Lib where data Expr = Val Int | Add Expr Expr

我开始学习Haskel编程语言,并决定使用Visual Studio代码。
我在VS中正确安装了haskell和stack以及一些haskell扩展 当我创建一个项目并将Lib.hs导入Main.hs时,编译器会抛出错误,就像它无法识别Lib模块一样。 代码可以执行,但VS中的错误仍然表明它们无法识别Lib模块中的函数

在附件中,我给出了一些例子和图片中的错误

Lib.hs:

module Lib where

data Expr = Val Int | Add Expr Expr
                    | Mult Expr Expr


expr :: Expr
expr = Add (Mult (Val 2) (Val 5)) (Val 6) 

eval :: Expr -> Int

eval (Val n) = n
eval (Add x y) = eval x + eval y
eval (Mult x y) = eval x * eval y
Main.hs:

module Main where

import Lib

main :: IO ()
main =  putStrLn $ "Result is :   " ++ show (eval expr)
错误:

我知道这是个初学者的问题,谢谢你的帮助。 当然欢迎任何建议

import Lib()
表示“不导入任何内容”


删除
()
部分。

没有任何更改,错误仍然存在。这似乎取决于visual studio代码。也许您需要在
RecursionProj2
中工作,而不是在根目录中(
WEEK 04
)。我正在使用
Haskell
扩展,而且似乎很好。顺便说一句:现在我已经移动到文件夹
RecursionProj2
中,没有类型
Expr
@MeowcolmLaw的
show
实例,谢谢。我想知道您是否在VS中使用Code Runner,因为当我尝试运行它时,由于相同的错误,它不工作,但它通过终端工作?我认为在这种情况下您不能使用Code Runner。由于它是一个堆栈项目,所以可以在终端中使用stack run命令。