我刚刚安装了 Haskell 平台,并且 ghci 工作正常,但由于某种原因我无法启动 ghc。它在我启动后大约 0.5 秒崩溃。
在 haskell 平台目录中,我有以下“与 ghc 相关的”.exe 文件: ghc ghc.pkg runghc
runghc.exe “工作”,但唯一发生的是出现一个空白的黑色终端。
帮助!
从您的评论中猜测,我会说您不太了解 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!