2017-07-02 63 views
-2

安装哈斯克尔我知道以下职位:一步一步在Windows 7

Installing Haskell on Windows, cabal config

How to modify cabal config file on windows

但他们尚未答复。


我从here安装在我的Windows 7的Haskell框架(GHCI),但我仍然运行简单的文件挣扎。举例来说,我已经保存在test.hs

data Car = Car Int deriving (Show) 

那么这个文件我跑! ghc test.hs然后:!加载test.hs.两者都运行没有任何错误。但是,当我运行:出现

Car 32 

错误是这样的:

data constructor not in scope: Car :: Integer -> t 

我想我需要安装更多的东西,但我不知道是什么。

我愿意使用任何其他编译器,只要他们不需要任何耗时且复杂的配置。

+1

请显示导致该错误的确切行。 – Carcigenicate

+0

@Carcigenicate谢谢,我做到了。 – 4xx

+0

如果您只是将其粘贴到文件并运行它会发生什么? https://repl.it/JKhB我严重怀疑这与你需要“安装更多东西”有关。上次我使用Haskell时,我刚刚安装了编译器包,它工作正常。 – Carcigenicate

回答

0

假设你在PATHghcii.sh在命令行上,通过运行它,并加载你的文件开始:

$ ghcii.sh 
GHCi, version 8.0.1: http://www.haskell.org/ghc/ :? for help 
Prelude> :load test.hs 
[1 of 1] Compiling Main    (44872846.hs, interpreted) 
Ok, modules loaded: Main. 
*Main> Car 32 
Car 32 

当您在GHCI正在alread,你并不需要运行ghc作为外部命令,因为您已经在交互式Haskell环境中。

GHCi只是GHC包含的几个程序之一。这是一个REPL,用于交互式即席测试。

GHC包含的另一个程序是ghc.exe。这是编译器,它可以将您的代码转换为.exe文件。

+0

感谢您的回答,但重要的是你的答案中缺少的是@ 4castle评论:“把模块测试(主,汽车(汽车))在你的顶部文件“ – 4xx

+0

@ 4xx这将是一个合适的事情,但在我的系统上的实验表明,当你有你写的'main'函数时,它不是必需的。 –