3

単純な(おそらく)問題(ハッキング関連)を解決する最善の方法がわかりません。

私はそれについて助けを求めました(http://stackoverflow.com/questions/12841599/haskell-hackage-ghc-and-productivity-what-to-do)が、よく説明できませんでした。

今日、私はこの親族の問題を抱えています。

具体的な問題は関係ありませんが、それは次のとおりです。

`Write a function that, given a string, remove diacritics.`

例:

`simpleWord "Cigüeñal" <-> "Ciguenal"

正しい方法(私は思う)は、標準のUnicode正規化を使用することです。一部の言語/フレームワーク(.Net、PHP、Pythonなど)には、関連する関数がいくつか存在します。

Haskellには、ハッキングコミュニティのおかげで存在します:

`Text.Unicode.Normalization.normalize`

しかし、(たとえば)ghc-7.4でインストールできませんでしたが、compact-string(に依存します)失敗します。

の修正がcompact-string存在します(compact-string-fix)その後:cabalを使用して(直接)インストールすることはできませんか?ダウンロードしてパッチを適用する必要がありますか?、機能するための別の代替手段を探す必要がありますか?

私は具体的な実際のケース(単純または複雑、気にしない)を説明しました、質問(私が助けを求める)は、初心者のハスケラーが正しいライブラリを選択するための最良の方法を知ることができる方法です、ghc正しい(バランスの取れた)バージョン、壁にぶつかることなく。

私はそれについて本当に迷っています。

本当に、どんな提案にも感謝します。

よろしくお願いします。

4

2 に答える 2

11

のドキュメントにcompact-stringは、「このパッケージは廃止されました。text代わりに使用してください」と記載されています。

のドキュメントにtextは、「Unicodeテキスト(正規化、正規表現、非標準エンコーディング、テキストブレーク、ロケールなど)を操作するための拡張された非常に豊富な関数ファミリーを使用するには、text-icuパッケージを参照してください」と記載されています。

のドキュメントtext-icuは、GHC 7.4で正常に構築され、Unicode正規化をサポートしていることを示しています。

于 2012-10-27T14:17:11.300 に答える
1

使用するパッケージを決定するときに従う一般的なプロセスは次のとおりです。まず、自分のニーズを満たす複数のパッケージを特定しようとします。次に、各パッケージを詳しく調べて、以下の基準に従って、どのパッケージが自分に最適かを判断します。

  1. 通常は、現在保守されているパッケージを使用することをお勧めします。パッケージが現在メンテナンスされているかどうかを確認するには、パッケージの説明ページの[アップロード日]リンクを確認します。(もちろん、変更の必要がないために、何年もの間変更されていない、いくつかの古い実証済みのパッケージがあります。)

  2. 通常は成熟したパッケージを使用する方が良いので、パッケージの説明ページでバージョン番号を確認します。バージョン番号7.3.5のパッケージは、おそらくバージョン0.1パッケージよりも成熟しています。

  3. 通常は、十分に文書化されているパッケージを使用することをお勧めします。Haddockのドキュメントにパッケージの使用方法の良い例がある場合があります(イェーイ!)。パッケージの説明ページの「ホームページ」リンクも確認します。多くの場合、そこにはさらに多くのドキュメントがあります。

  4. 問題があればすぐに解決され、他のユーザーが質問に答えることができるため、通常は人気のあるパッケージを使用することをお勧めします。私は通常Google検索を行い、HaskellメーリングリストとStackOverflowで最も頻繁に言及されているパッケージを確認します。

  5. 通常は、まだ持っていないパッケージをあまり必要としないパッケージを使用する方が良いので、パッケージの説明ページの「依存関係」セクションを確認します。

Haskellだけでなく、あらゆるプログラミング言語のパッケージを選択するときは、この手順に従う傾向があります。

于 2012-10-28T18:06:50.933 に答える