0
我剛剛安裝了Haskell平臺,而且ghci工作正常,但由於某種原因,我無法啓動ghc。它啓動後大約0.5秒後崩潰。Ghc無法正常啓動[Windows 7 64位]
在Haskell的平臺目錄,我有以下的 「GHC有關」 .EXE的: GHC ghc.pkg runghc
runghc.exe 「作品」,但這種情況發生的唯一事情是出現空白的黑色終端。
幫助!
我剛剛安裝了Haskell平臺,而且ghci工作正常,但由於某種原因,我無法啓動ghc。它啓動後大約0.5秒後崩潰。Ghc無法正常啓動[Windows 7 64位]
在Haskell的平臺目錄,我有以下的 「GHC有關」 .EXE的: GHC ghc.pkg runghc
runghc.exe 「作品」,但這種情況發生的唯一事情是出現空白的黑色終端。
幫助!
從你的評論猜測,我會說你不太明白GHC是什麼,GHCi是什麼。 GHC是格拉斯哥Haskell編譯器。它所做的只是將Haskell代碼編譯爲可執行文件。 GHCi是交互式的GHC,它可以讓你鍵入代碼並逐行編譯。您可以通過從命令行運行ghci
來啓動GHCi,但在運行ghc
時,必須傳遞更多參數才能使其執行任何操作。
例如,如果我有文件HelloWorld.hs
夾C:\projects\haskell
中,與具有內容
HelloWorld.hs
module Main where
sayHello :: String -> String
sayHello name = "Hello, " ++ name ++ "!"
main :: IO()
main = do
putStrLn "What is your name?"
name <- getLine
putStrLn $ sayHello name
我可以打開命令線(>
指示提示,它不是部分命令),然後運行
> cd C:\projects\haskell
> ghc --make HelloWorld.hs -o hello.exe
> hello.exe
What is your name?
bheklilr
Hello, bheklilr!
我也可以做類似
> cd C:\projects\haskell
> ghci
Loading package ghc-prim ... linking ... done.
Loading package integer-gmp ... linking ... done.
Loading package base ... linking ... done.
Prelude> :load HelloWorld.hs
Ok, modules loaded: Main
*Main>
從哪個點我可以做這樣的事情
*Main> sayHello "World"
"Hello, World!"
*Main> sayHello $ sayHello "World"
"Hello, Hello, World!!"
*Main> :main
What is your name?
bheklilr
Hello, bheklilr!
「啓動GHC」本身並不做任何事情。你需要從終端運行它並添加你想編譯的文件名。 – us2012
因此,當我啓動runghc.exe時,它應該只是啓動一個空白終端?我只在Linux上使用過Haskell,你首先加載到ghc中,然後輸入「ghci」來運行ghci。但我沒有ghc終端,它只是ghci。 – user2851582
我不知道你在說什麼Linux軟件包,但是如果我想在我的Linux系統上使用ghci,我只需要在控制檯輸入'ghci'。那麼,如果ghci適合你,那麼你的意思是「我不能啓動ghc」? – us2012