页面:(http://en.wikibooks.org/wiki/
Haskell/GUI)描述了要运行wx代码,可以安装wx,然后必须“使用GHC注册wxHaskell” – 但是我认为wxHaskell的二进制安装程序(http://wxhaskell.sourceforge.net/download.html)自动执行?
我安装了wx-config,然后安装了wxPack和wxHaskell.然后安装了wx和wxcore.我正在从Leksah运行一些wx演示,这似乎很好 – 但是他们有一些奇怪的错误(我发现一个所谓的解决方案:“wxhaskell-labels-cant-display-full-text”),但是我想尝试一些只是从GHCi.
我试着运行他们简单的演示,错误:
D:\csPlangs\Haskell\play>ghci -package wx wxGui1.hs GHCi,version 7.0.3: http://www.haskell.org/ghc/ :? for help Loading package ghc-prim ... linking ... done. Loading package integer-gmp ... linking ... done. Loading package base ... linking ... done. Loading package array-0.3.0.2 ... linking ... done. Loading package stm-2.2.0.1 ... linking ... done. Loading package bytestring-0.9.1.10 ... linking ... done. Loading package containers-0.4.0.0 ... linking ... done. Loading package Win32-2.2.0.1 ... linking ... done. Loading package filepath-1.2.0.0 ... linking ... done. Loading package old-locale-1.0.0.2 ... linking ... done. Loading package old-time-1.0.0.6 ... linking ... done. Loading package directory-1.1.0.0 ... linking ... done. Loading package transformers-0.2.2.0 ... linking ... done. Loading package mtl-2.0.1.0 ... linking ... done. Loading package parsec-3.1.1 ... linking ... done. Loading package time-1.2.0.3 ... linking ... done. Loading package wxdirect-0.12.1.4 ... linking ... done. Loading package wxcore-0.12.1.7 ... ghc.exe: stdc++: The specified module could not be found. <command line>: can't load .so/.DLL for: stdc++ (addDLL: could not load DLL)
还有[有趣]的错误:
*Main> q <interactive>:1:1: Not in scope: `q' *Main> ghc.exe: panic! (the 'impossible' happened) (GHC version 7.0.3 for i386-unknown-mingw32): thread blocked indefinitely in an MVar operation Please report this as a GHC bug: http://www.haskell.org/ghc/reportabug
这似乎是wxHaskell,GHCi和Windows的组合的已知问题.从
http://www.haskell.org/haskellwiki/WxHaskell/Quick_start
On Windows 7,ghci will complain “can’t load .so/.DLL for: std c++ …”. But
ghc --make Hello.hs; Hello.exe
on the command line works well.
所以,你可以编译你的代码.你只是无法通过翻译来运行它.