在终端打开带有ghci的.hs文件?

时间:2013-09-18 18:54:22

标签: file haskell loading ghci

我正在使用Mountain Lion。我打开终端,然后加载ghci,我写:l然后我尝试通过鼠标从桌面拖到终端来加载我的文件(在我的桌面),所以我知道位置是正确的,我得到了这个,谢谢你提前:

Prelude> :l  /Users/myusername/Desktop/Test.hs 
[1 of 1] Compiling Main             ( /Users/myusername/Desktop/Test.hs, interpreted )

/Users/myusername/Desktop/Test.hs:1:7: parse error on input `\'
Failed, modules loaded: none.
Prelude> 

编辑:我试图打开的文件(用文本编辑编写)是:

double :: Int -> Int
double x = x + x

3 个答案:

答案 0 :(得分:10)

TextEdit 不是明文编辑器(与Windows Notepad不同),因此默认情况下它会在文件中包含格式化垃圾,GHC显然不满意。显然you can still use TextEdit if set up correctly,但是建议使用正确的编程编辑器。像任何Unix一样,OSX带有vi味道,这需要一些时间来习惯,但并不那么难,并且工作正常;至少你可以用它来检查文件中的内容。

vi /Users/myusername/Desktop/Test.hs

或者,甚至更简单

cat /Users/myusername/Desktop/Test.hs

只会为您提供文件的确切内容。

选择最适合使用的编辑器consider this question

答案 1 :(得分:2)

我在Windows上尝试了相同的程序,但效果很好。

您是否曾尝试进入GHCi内的目录并打开它?

程序将是:

Prelude> :cd /Users/myusername/Desktop/
Prelude> :l Test.hs

对我来说,复制/粘贴你发布的代码,两种情况都适用于Windows。

答案 2 :(得分:1)

\的存在意味着您从TextEdit获得了RTF(富文本)文件。 RTF是TextEdit的默认格式,它是一种格式,用于提供有关文本字体,大小等信息的纯文本。

我建议使用vi或emacs,但为了解决您的问题,请在TextEdit中打开该文件,然后点击Cmd-Shift-t将您的文件转换为纯文本。