Haskell和Visual Studio代码错误
我开始学习Haskel编程语言,并决定使用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
我在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命令。