我开始学习 Haskel 编程语言并决定使用 Visual Studio Code。
我在 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 ()
意思是“不要导入任何东西”。
删除
()
部分。
这是 Haskell 发布者的 Haskell 扩展的一个小错误。顺便说一句,2024 年还没有解决。
我停用了它;还因为即使在数字化时它也会标记你的错误,这会分散我的注意力。
我只使用“Haskell 语法突出显示”,没有调试器,并且从终端进行编译。我不做大项目,这对我来说已经足够了。