Haskell:http wget在windows中挂起我的程序

Haskell:http wget在windows中挂起我的程序,windows,haskell,cygwin,wget,Windows,Haskell,Cygwin,Wget,我已经在两台电脑上试过了。以下是我的步骤: 在cygwin上安装wget cabal安装http wget 升级my PATH环境变量以包含C:\cygwin\bin 打开WinGHCi并键入以下内容: 从提示符: GHCi, version 7.4.2: http://www.haskell.org/ghc/ :? for help Loading package ghc-prim ... linking ... done. Loading package integer-gmp ... l

我已经在两台电脑上试过了。以下是我的步骤:

  • 在cygwin上安装wget
  • cabal安装http wget
  • 升级my PATH环境变量以包含C:\cygwin\bin
  • 打开WinGHCi并键入以下内容:
  • 从提示符:

    GHCi, version 7.4.2: http://www.haskell.org/ghc/  :? for help
    Loading package ghc-prim ... linking ... done.
    Loading package integer-gmp ... linking ... done.
    Loading package base ... linking ... done.
    Prelude> :m + Network.HTTP.Wget
    Prelude Network.HTTP.Wget> wget "http://www.google.com" [] []
    Loading package bytestring-0.9.2.1 ... linking ... done.
    Loading package Win32-2.2.2.0 ... linking ... done.
    Loading package filepath-1.3.0.0 ... linking ... done.
    Loading package old-locale-1.0.0.4 ... linking ... done.
    Loading package old-time-1.1.0.0 ... linking ... done.
    Loading package directory-1.1.0.2 ... linking ... done.
    Loading package process-1.1.0.1 ... linking ... done.
    Loading package failure-0.1.2 ... linking ... done.
    Loading package transformers-0.2.2.0 ... linking ... done.
    Loading package http-wget-0.6.2.3 ... linking ... done.
    
    在这条线之后没有其他事情发生。命令未完成。它永远挂着。我是Haskell的新手,不知道如何调试这个问题

    $ ghc --version
    The Glorious Glasgow Haskell Compilation System, version 7.4.2
    
    我已经在cygwin提示符中尝试了wget命令,它可以正常工作

    这是WinGHCi的作品:

    let getGoogle = do (_, Just hout, _, _) <- createProcess (proc "wget" ["-q", "www.google.com", "-O", "-"]){ std_out = CreatePipe }; hGetContents hout
    

    let getGoogle=do(u,Just hout,u,u)当您使用ghc编译器编译程序并运行二进制文件而不是从ghci解释器运行它时,它是否工作?@Rotsor:I
    ghc——生成prog.hs
    ,然后在cygwin中执行
    /prog.exe
    。http wget包在2012年被孤立并被标记为弃用:--唯一的答案是“不要使用它”