0

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

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

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

帮助!

4

1 回答 1

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!
于 2013-10-06T13:01:32.327 回答