2015-02-08 125 views
2

我曾嘗試以下:哈斯克爾模式與沙箱

cabal sandbox init 

然後進行以下小集團文件。

-- Initial hsource.cabal generated by cabal init. For further 
-- documentation, see http://haskell.org/cabal/users-guide/ 

name:    hsource 
version:    0.1.0.0 
-- synopsis:    
-- description:   
-- license:    
license-file:  LICENSE 
author:    abc 
maintainer:   abc 
-- copyright:   
-- category:    
build-type:   Simple 
-- extra-source-files: 
cabal-version:  >=1.10 

executable hsource 
    main-is:    main.hs 
    other-modules:  
    -- other-extensions:  
    build-depends:  base >=4.7 && <4.8, csv 
    hs-source-dirs:  src 
    default-language: Haskell2010 

現在我安裝CSV包:

cabal install --only-dependencies 

現在,當我嘗試import Text.CSV然後再C-c C-l我收到以下錯誤:

Util/RandomTree.hs:7:8-15: Could not find module ‘Text.CSV’ … 
    Use -v to see a list of the files searched for. 
Compilation failed. 

所以我的問題是,如果沙箱是不支持haskell模式,或者我錯過了一些步驟讓他們工作?

+0

你確定你已經啓用了interactive-haskell-mode hook嗎?看來你正在使用劣質的haskell模式。 – Sibi 2015-02-08 18:41:26

+0

這個針對haskell模式的github問題可能會有幫助:https://github.com/haskell/haskell-mode/issues/253 – ErikR 2015-02-08 18:56:47

回答

1

請確保您有:

(add-hook 'haskell-mode-hook 'interactive-haskell-mode) 
在您的Emacs init文件

haskell-mode支持不同的GHCi process types。你需要一個使用cabal的人。

要了解當前應用的過程類型,請使用M-x describe-variable並輸入haskell-process-type

我認爲haskell-mode文檔已過時;因爲,在查看源代碼時,默認爲auto,如果它能夠找到.cabal-sandbox目錄,將使用cabal-repl。否則,它將使用ghci

因此,如果您的haskell-process-type設置爲ghciauto,並且無法找到您的cabal沙箱,則會看到您發佈的錯誤。如果它當前設置爲ghci,加入改變haskell-process-typecabal-repl

(custom-set-variables 
    '(haskell-process-type 'cabal-repl)) 

到Emacs初始化文件並重新啓動emacs的過程。

此外,您可以隨時通過打開命令行,導航到包含.cabal文件的目錄並輸入cabal repl來確認問題是否特定於emacs。如果可行,那麼你的cabal設置很好。

+0

我啓用了interactive-haskell-mode並且haskell-process-type設置爲ghci。有關如何繼續查找錯誤的任何提示? – user3139545 2015-02-08 21:04:01

+0

因此,當我將haskell-process-type設置爲cabal-repl時,它解決了大部分問題。然而,flycheck仍然在緩衝區中顯示文本,說它無法找到該文件。任何冰如何讓flycheck工作?同時將haskell-process-type設置爲auto不起作用。 – user3139545 2015-02-08 21:22:10

+0

我認爲這個鏈接應該有所幫助:https://github.com/flycheck/flycheck/issues/293#issuecomment-31580700。 – 2015-02-08 21:38:10