我试图进入haskell世界的第一步,为此我选择使用leksah IDE。 但是,我不确定这是否真的具有特定的leksah,但猜测它可能更像是一个阴谋/构建问题。
现在我试图解决99 Haskell problems,为此我开了一个新工作区并创建了一个新包。 这使我基本上像以下目录结构:
dist/
+--- (here be dragons... a lot of hopefully unrelated files)
scr/
+--- Main.hs
+--- 01_lists.hs (<- now that's what I want)
99problems.cabal
Setup.lhs
我的Main.hs文件如下所示:
module Main ( main ) where
main = putStrLn (show (myLast [1,2,3]) )
归咎于我,Not in scope: myLast
。
我可以通过将定义写在main = putStrLn ...
的定义之上来解决此问题,但我想要的是将其拆分为不同的文件并将文件包含在我的范围内。
这是怎么做到的?
猜猜它与leksah正在使用的cabal
有关,我必须以某种方式包含它,就像我在REPL中使用:load 01_lists.hs
一样。
我已在Package -> Extra Files
下的leksah中添加了该文件,但仅此一点没有成功。
我的环境是:
cabal repl
命令,最有可能帮助我我倾向于认为这是一个简单的配置问题。 有人愿意帮我借这个吗?
答案 0 :(得分:5)
让01_lists.hs
为Euler01.hs
并以module Euler01
开头。然后在Main.hs
中,添加到顶部import Euler01