我2小时前下载了WinHugs,但仍然无法弄清楚如何宣布简单的事情。我正在尝试按照“7周内的7种语言”这本书进行操作,但let x = 10
和double x = x * 2
之类的内容会出现语法错误。
答案 0 :(得分:12)
我不是百分百肯定你要做的事情是行不通的。您无法在WinHugs会话中声明绑定,只能评估完整表达式。所以你可以做let x = 10 in x * x + x
之类的事情,但你不能在交互式会话中说let x = 10
。换句话说,你不能使声明“坚持”。
要解决这个问题,要么将声明放在.hs
文件中并将其加载到WinHugs中,要么使用GHCi(这是更好的选择,在我看来 - WinHugs非常过时)。您可以通过下载Haskell Platform来安装GHCi。
答案 1 :(得分:1)
在winhugs中,下面给出了语法错误
让双x = x * 2
但以下工作:
让double x = x * 2 in double 10
然而,在ghc中,他们拥有互动环境ghci,其中一切正常
让双x = x * 2
作品
双10
作品
此链接说明了如何使用ghci环境:https://downloads.haskell.org/~ghc/7.2.2/docs/html/users_guide/interactive-evaluation.html
一个小问题是在Windows上你需要cygwin的存在 - 否则为windows编译的ghci将无效。