1

Haskellで動作するようにレンズパッケージをインストールしようとしています。

$ haste-inst install lens

次のエラーが表示されます。

Resolving dependencies...
cabal: Could not resolve dependencies:
trying: base-4.6.0.1/installed-4.6... (user goal)
trying: containers-0.4.1.0/installed- (user goal)
trying: lens-4.9.1 (user goal)
next goal: template-haskell (dependency of lens-4.9.1)
rejecting: template-haskell-2.10.0.0 (conflict:
base==4.6.0.1/installed-4.6..., template-haskell => base==4.8.*)
rejecting: template-haskell-2.9.0.0 (conflict: base==4.6.0.1/installed-4.6...,
template-haskell => base==4.7.*)
rejecting: template-haskell-2.8.0.0 (conflict: containers==0.4.1.0/installed-,
template-haskell => containers==0.5.*)
rejecting: template-haskell-2.7.0.0 (conflict: base==4.6.0.1/installed-4.6...,
template-haskell => base==4.5.*)
rejecting: template-haskell-2.6.0.0 (conflict: base==4.6.0.1/installed-4.6...,
template-haskell => base==4.4.*)
rejecting: template-haskell-2.5.0.0 (conflict: base==4.6.0.1/installed-4.6...,
template-haskell => base==4.3.*)
rejecting: template-haskell-2.4.0.1 (conflict: base==4.6.0.1/installed-4.6...,
template-haskell => base==4.2.*)
rejecting: template-haskell-2.4.0.0 (conflict: base==4.6.0.1/installed-4.6...,
template-haskell => base>=3 && <4.3)
rejecting: template-haskell-2.3.0.1, 2.3.0.0, 2.2.0.0 (conflict: lens =>
template-haskell>=2.4 && <2.11)
Backjump limit reached (change with --max-backjumps).

Note: when using a sandbox, all packages are required to have consistent
dependencies. Try reinstalling/unregistering the offending packages or
recreating the sandbox.

サンドボックスの「メモ」は誤解を招くと思います。サンドボックスは新しく、baseサンドボックスに存在することはできません。

ヘイストの base のバージョンを決定するものは何ですか? cabal を使用してレンズをインストールすると (haskele 用)、正常に動作します。

cabal install lens

編集:

lens-familyは、これまでのところ代替品としてうまく機能しています。

4

1 に答える 1

1

Lens は Template Haskell に依存していますが、残念ながら現在 Haste ではサポートされていません。

ベースがヘイストのために現在実装されている方法は、TH サポートをトリッキーにしています。ただし、GHC 7.10 のサポートにはいずれにせよ大幅な改造が必要になるため、TH のサポートはおそらく 7.10 と一緒に提供されるでしょう。

于 2015-04-24T05:44:41.170 に答える