Ghc无法正常启动[Windows 7 64位]

时间:2013-10-06 11:26:55

标签: haskell ghc

我刚刚安装了Haskell平台,ghci工作正常,但由于某种原因我无法启动ghc。它启动后大约0.5秒就崩溃了。

在haskell平台目录中,我有以下“与ghc相关”.exe的: GHC ghc.pkg runghc

runghc.exe“有效”,但唯一发生的是出现一个空白的黑色终端。

帮助!

1 个答案:

答案 0 :(得分:1)

从你的评论中猜测,我会说你不太了解GHC是什么以及GHCi是什么。 GHC是Glasgow 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!