2013-06-09 10 views
38

私はcabal-devに似たサンドボックスをサポートしているcabalヘッドを試してきました。ただし、次のリリースではcabal-dev ghciと同等、apparently no support plannedはまだサポートされていません。新しいキャバル1.17サンドボックスでGHCiを使用するにはどうすればよいですか?

私はこれを回避し、cabal-dev ghciに似た何かを得るために使用できる手がかりはありますか?

+2

残念ながら、現在、「cabal-dev ghci」には使いやすいアナログはありません。ダンカン氏は、サム・アンクレッサリアのGSoC 2011パッチをマージして、「キャバル・リプレイ」を実装しています(既にいくつかの準備作業をマージしています)が、ATMではHEADにはありません。 'cabal repl'が実装されると、サンドボックスもそれをサポートします。 –

+0

情報ありがとう!私はまた使いにくい解決法を受け入れるだろう。 – jberryman

答えて

38

編集(2012年8月):cabal replパッチが最近マージされました。この機能は、次のリリースの一部になります。


この記事の執筆時点では、cabal-dev ghciには使いやすいアナログはありません。今後はcabal replコマンドを追加する予定です。ただし、この機能はCabal HEADにはありません。そのことができます(あなたが:lまたはimportでそれらをロードする必要があります -

$ cd $YOUR_PACKAGE_DIR 

# For GHC >= 7.6 
$ ghci -no-user-package-db -package-db .cabal-sandbox/i386-linux-ghc-7.6.1-packages.conf.d 

# For GHC < 7.6 
$ ghci -no-user-package-conf -package-conf .cabal-sandbox/i386-linux-ghc-7.4.2-packages.conf.d 

これはghciからあなたのパッケージのモジュールがすぐに利用することはありません。一方

は、次の回避策を試すことができますカスタムプリプロセッサとCPPの存在下で中断する)。

+7

cabal replはcabal version 1.18から始まります。http://coldwa.st/e/blog/2013-08-21-Cabal-1-18.htmlつまり、Cabalバージョン> = 1.18の場合あなたのプロジェクトディレクトリに 'cabal repl'と打つだけでいいですし、avaialableならばサンドボックスが使われます。 –

+0

また、i386-linuxがあなたのOSとghcのバージョンに特有のものです - 私は別のghcバージョンとOSを持っているので、conf.dファイルの別の接頭辞を入力しなければなりませんでした。これは他の人にとっては明白かもしれませんが、私はハスケルにとって初めてです。 –

関連する問題