2013-01-13 15 views
5

我試圖運行an example使用EnableGUIfunction無法從Mac上的ghci獲得wxHaskell的工作

% ghci -framework Carbon Main.hs 

*Main> enableGUI >> main 

這是我得到的,而不是一個工作程序:

2013-01-14 00:21:03.021 ghc[13403:1303] *** Assertion failure in +[NSUndoManager _endTopLevelGroupings], /SourceCache/Foundation/Foundation-945.11/Misc.subproj/NSUndoManager.m:328 
2013-01-14 00:21:03.022 ghc[13403:1303] +[NSUndoManager(NSInternal) _endTopLevelGroupings] is only safe to invoke on the main thread. 
2013-01-14 00:21:03.024 ghc[13403:1303] (
    0 CoreFoundation      0x00007fff8c8ea0a6 __exceptionPreprocess + 198 
    1 libobjc.A.dylib      0x00007fff867243f0 objc_exception_throw + 43 
    2 CoreFoundation      0x00007fff8c8e9ee8 +[NSException raise:format:arguments:] + 104 
    3 Foundation       0x00007fff884966a2 -[NSAssertionHandler handleFailureInMethod:object:file:lineNumber:description:] + 189 
    4 Foundation       0x00007fff884fc8b7 +[NSUndoManager(NSPrivate) _endTopLevelGroupings] + 156 
    5 AppKit        0x00007fff8ecb832d -[NSApplication run] + 687 
    6 libwx_osx_cocoau_core-2.9.4.0.0.dylib 0x000000010ae64c96 _ZN14wxGUIEventLoop5DoRunEv + 40 
    7 libwx_baseu-2.9.4.0.0.dylib   0x000000010b37e0e5 _ZN13wxCFEventLoop3RunEv + 63 
    8 libwx_baseu-2.9.4.0.0.dylib   0x000000010b2e91bf _ZN16wxAppConsoleBase8MainLoopEv + 81 
    9 libwx_osx_cocoau_core-2.9.4.0.0.dylib 0x000000010ae1b04f _ZN5wxApp5OnRunEv + 29 
    10 libwx_baseu-2.9.4.0.0.dylib   0x000000010b32e8d1 _Z7wxEntryRiPPw + 102 
    11 libwxc.dylib      0x000000010bc8a9a4 ELJApp_InitializeC + 116 
    12 ???         0x000000010beb9702 0x0 + 4494956290 
) 
2013-01-14 00:21:03.024 ghc[13403:1303] *** Assertion failure in +[NSUndoManager _endTopLevelGroupings], /SourceCache/Foundation/Foundation-945.11/Misc.subproj/NSUndoManager.m:328 

當我編譯和macosx-app它,它的工作原理相當好,但是,由於顯而易見的原因,我真的希望這從ghci工作。

我該怎麼辦? Google沒有透露與Haskell一起使用的NSUndoManager的神奇問題。 :(

回答

0

wxHaskell沒有ghci的內工作了一段時間。顯然,C++的內存管理和重複使用的組件內ghci中會引起問題。你juat要反覆重寫主。:(

faq

GHCI不能混用靜態和動態庫,它會在不久的將來在wxHaskell來解決

3

ghci的-fno-ghci的沙箱

。個

爲我工作在OSX 10.8,WX 0.90.0.1

感謝海因裏希:https://github.com/jodonoghue/wxHaskell/pull/6

+0

加入'GHC選項:-fno-ghci中,sandbox'在小集團文件/(可執行代碼段)提出的是在Leksah/ghci工作 - 調試器也是如此。 –

+0

剛剛嘗試並確認'ghc-options:-fno-ghci-sandbox'解決了這個問題。謝謝Luc Taesch! – Slabko