2017-07-02 76 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'函數時,它不是必需的。 –