問題タブ [hackage]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
haskell - 開発ブランチを Cabal Sandbox にインストールする方法
Cabal サンドボックスにプロジェクトがあります。使用したいパッケージがありますが、Hackage のパッケージは適していません。著者が Github に持っている私のニーズを満たす代替開発ブランチがあります。以下を使用して、以前にサンドボックスなしで開発ブランチをインストールしました。
このレポをサンドボックスにインストールしたいだけなら、明らかにそれはうまくいきません。
私のディレクトリ構造は次のように設定されています:
実行可能ファイルとライブラリの両方があります。私の build-depends には約 18 個のパッケージの依存関係があり、これはそのうちの 1 つです。だから私の質問:
- 開発リポジトリをダウンロードしたら、どこに解凍すればよいですか?
- 抽出したら、サンドボックスにビルド/インストールするにはどうすればよいですか?
- すべて完了したら、.cabal ファイルを変更する必要はありますか?
haskell - hackage-server がビルドに失敗する - 特定の ghc/cabal バージョン要件はありますか?
Hackage サーバーhttps://github.com/haskell/hackage-serverのコピーをビルドして実行しようとしています。https://github.com/haskell/hackage-server/wikiの指示と、readme の指示に従いました。どちらを試しても、ghc 7.8.4 と cabal 1.22 でビルドしようとすると、次のエラーが表示されます。
また、最新の Haskell Platform を使用してみましたが、同じ失敗メッセージが表示されます。
これが現在の hackage-server の master ブランチのバグなのか、それとも ghc や cabal のインストール方法に関係があるのか、解決しようとしています。
編集: Ubuntu 14.04 リポジトリ haskell-platform (ghc 7.6.3、cabal 1.16) で再試行しましたが、同じエラーが発生します。
haskell - haskell パッケージ http-enumerator をインストールできません
cabal install を実行すると、次の bash トランスクリプトが得られました。
http-enumerator に必要な多くのパッケージが利用できないと訴えているようです。プリントアウトの最後の行にある「Backjump」の意味がわかりません。
パッケージの依存関係を解決するにはどうすればよいですか?
ありがとう!
haskell - Hackage 文字列変換のインストールに失敗する
問題
Hackage をインストールしていましstring-conversions
た。ただし、以下のエラーで失敗します。
エラーログ
環境
Ubuntu GNOME: 14.10
ghc: 7.6.3
カバル: 1.20.0.2
haskell - ハッキングの不一致の責任を誰に負わせるべきかをどうすれば知ることができますか
をインストールしようとするcriterion
と、依存している他のパッケージを再インストールしたいという問題が発生します。それらを再インストールすると、すべてが壊れます(私は試しました)。
さて、criterion
これ (あまりにも古い依存関係を使用している) と他のパッケージ (十分に更新されていない) のどちらが原因かをどのように判断すればよいでしょうか?
haskell - Haskell: ハックの Control.Applicative 記事の applicative functor 法の記述に欠陥がありますか?: Applicative が Functor を決定すると書かれています
のハッキング記事にControl.Applicative
欠陥を見つけたと思います。アプリカティブ ファンクターの法則の説明として、次のように述べています。
アプリケーションを備えたファンクター。純粋な式を埋め込む操作 (
pure
) と、計算をシーケンス化し、それらの結果を結合する操作 ( ) を提供します<*>
。最小限の完全な定義には、次の法則を満たすこれらの関数の実装が含まれている必要があります。
身元
構成
準同型
交換
(これは fmap について何も述べていないことに注意してください)、これらの法則がFunctor
インスタンスを決定すると述べています。
これらの法則の結果として、
Functor
f のインスタンスは次を満たします。
私は最初、これは明らかに間違っていると思いました。t
つまり、次の 2 つの条件を満たす型コンストラクターが存在する必要があると推測しました。
t
Applicative
上記のルールを満たすインスタンスであり、- には 2 つの異なる実装があります(つまり、関手法則を満たす
instance (Functor t)
2 つの異なる function があります)。fmap1, fmap2 :: (a->b) -> (t a->t b)
上記が正しい場合 (およびその場合のみ)、上記のステートメントは次のように書き換える必要があります。
f の Functor インスタンスは、次を満たす必要があります。
これらの法律の結果として、これは
Functor
法律を満たしています。
私の推測が正しいかどうかに関係なく、これは明らかに正しいです。
私の質問は:私の推測は正しいですか? t
希望条件のはありますか?
以下は、この質問に自分で答えようとして思ったことの説明です。
私たちが実際の Haskell プログラミングに興味のない単なる数学者であれば、この質問に簡単に肯定的に答えることができます。実際には、
上記の要件 1 と 2 を満たしています (実際、ほとんど何でも可能です)。実際、は、 で定義されてIdentity
いるように、自明にFunctor
およびのインスタンスです。(これは を満たします。) の別の「実装」を定義するには、型ごとに 2 つの関数を使用します。Applicative
Data.Functor.Identity
fmap f = (pure f <*>)
instance (Functor f)
a
そのような
(これは、集合論的には簡単です)。今定義する
これはFunctor
法則を満たし、自明なものとは異なる実装です。
そのような
しかし、Haskell でそれができるかどうかはまったく明らかではありません。次のようなものです:
Haskellで可能ですか?
編集
大事なことを書き忘れていました。私はGHCベースパッケージの一部として認識Control.Applicative
しているので、私の質問への答えが や などのGHC言語拡張で変わるかどうかにも興味がありますが、FlexibleInstances
まだOverlappingInstances
理解していません.
haskell - 関数 X で最も古いパッケージ バージョンを検索する
だから私はここに座って、なぜ私が探している機能が見つからないのだろうと思っています.インストールしたパッケージのバージョンには存在しないことがわかりました.
では、Hackage にその機能が追加されたバージョンを教えてもらうにはどうすればよいでしょうか?
(特に、Cabal の説明で正しいパッケージ境界を指定できるようにします。)
haskell - Yesod 型テキストの正規表現
現在、テキストを文字列に変更してから、Text.Regex.Posix を使用してマッチングを行っています。Yesod で正規表現を行う慣用的で効率的な方法はありますか?