問題タブ [haskell]

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.

0 投票する
7 に答える
2188 参照

.net - 汎用プログラミングには、F# と Haskell のどちらの言語が適していますか?

私は現在 Haskell を学んでいます。汎用アプリケーションのプログラミングには、どちらの言語 (F# または Haskell) を好みますか?

どちらの言語が強いと思いますか?

0 投票する
6 に答える
19390 参照

haskell - 実世界で関数型プログラミングをどのように使用できますか?

関数型言語は、状態を排除することでバグを回避できるだけでなく、スレッド数を気にすることなく自動的に簡単に並列化できるため、優れています。

Win32開発者として、アプリケーションの一部のdllにHaskellを使用できますか?そして、私がそうする場合、私のために自動的に取られる本当の利点はありますか?もしそうなら、私にこの利点を与えるものは何ですか、コンパイラ?

F#は、複数のコアとCPUにまたがって作成した関数を自動的に並列化しますか?タスクマネージャーのスレッド数が増えるのを見たことがありますか?

基本的に私の質問は、Haskellを実用的な方法で使い始めるにはどうすればよいのかということです。そうすれば、実際にいくつかのメリットが見られますか?

0 投票する
2 に答える
19153 参照

haskell - do ブロックの case 式の Haskell 構文

ブロックcase内の式に関するこの構文の問題がよくわかりません。do

正しい構文は何ですか?

私の例を修正して説明できれば、それが最善です。

少し更新。私のソース ファイルはスペースとタブが混在していて、あらゆる種類の問題を引き起こしていました。Haskell を始める人へのヒントです。問題がある場合は、ソース コード内のタブとスペースを確認してください。

0 投票する
3 に答える
774 参照

c - Haskell FFI /CMPFRライブラリラッパーの問題

Doubleの代わりに任意精度の浮動小数点/ドロップを作成するために、FFIを使用してMPFRをラップしようとしていますが、すべての努力にもかかわらず、最も単純なコードは機能しません。コンパイルして実行しますが、しばらく動作するふりをした後、嘲笑してクラッシュします。単純なCバージョンのコードは、数値「1」から(小数点以下640桁)までの合計10,000回をうまく出力します。Haskellバージョンは、同じことをするように求められた場合、「1.0000 ... 0000」の289回の印刷後、および385回の印刷後、アサーションの失敗と爆弾を引き起こし、データをサイレントに破損(?)します。「動作するはず」なので、これをデバッグする方法がわかりません。

コードはhttp://hpaste.org/10923で閲覧でき、 http: //www.updike.org/mpfr-broken.tar.gzでダウンロードできます。

FreeBSD6ではGHC6.83を、Mac OSXではGHC6.8.2を使用しています。ライブラリとヘッダーファイルの正しいパス(Makefileを変更)とともにMPFR(2.3.2でテスト済み)をインストールする必要があることに注意してください。 GMPから)これを正常にコンパイルします。

質問

  • なぜCバージョンは機能するのに、Haskellバージョンはフレークアウトするのですか?FFIに近づくときに他に何が欠けていますか?StablePtrsを試しましたが、まったく同じ結果になりました。

  • 他の誰かが私のコードをコンパイルして実行することにより、これがMac / BSDのみの問題であるかどうかを確認できますか?(Cコードは「機能」しますか?Haskellコードは「noworks」は機能しますか?)LinuxとWindowsの誰かがコンパイル/実行して、同じ結果が得られるかどうかを確認できますか?

Cコード:(works.c)

Haskellコード:(Main.hs---動作しません)

0 投票する
6 に答える
5252 参照

scala - ソフトウェア トランザクショナル メモリを実際に使用した経験はありますか?

最近、STM (ソフトウェア トランザクショナル メモリ) フレームワークと言語拡張への関心が高まっているようです。 特にClojureは、ローリング コミット ログではなくMVCC (マルチバージョン同時実行制御)を使用する優れた実装を備えています。GHC Haskell には、トランザクション合成も可能にする非常にエレガントな STM モナドもあります。最後に、私自身の口癖を少しだけ説明するために、私は最近、参照制限を静的に適用する Scala 用の STM フレームワークを実装しました。

これらはどれも興味深い実験ですが、その領域だけに限定されているようです (実験)。私の質問は、現実の世界で STM を見たり使用したりしたことがある人はいますか? もしそうなら、なぜですか?それはどのような利益をもたらしましたか。パフォーマンスはどうですか?(この点については多くの矛盾する情報があるようです) STM を再び使用しますか、それともアクターのような他の並行処理の抽象化を使用したいと思いますか?

0 投票する
25 に答える
18565 参照

haskell - Haskell の隠れた機能

Haskell プログラミング言語のあまり知られていないが便利な機能は何ですか。(言語自体はあまり知られていないことは理解していますが、私と一緒に作業します。1 行のコードでフィボナッチ数列を定義するなど、Haskell の単純なことの説明でさえ、私は支持します。)

  • Haskellコアへの回答を制限してみてください
  • 回答ごとに 1 つの機能
  • ドキュメントへのリンクだけでなく、機能の例と簡単な説明を提供してください
  • 最初の行として太字のタイトルを使用してフィーチャにラベルを付けます
0 投票する
2 に答える
10155 参照

file - Haskell: ファイルからすべての行をリストに挿入する

私は現在、Haskell を使用したプロジェクトに取り組んでおり、問題が発生しました。「dictionary.txt」ファイルの各行を読み取ってリストに挿入することになっていますが、そうすることができないようです。私はこのコードを持っています:

すべての行を取得することになっています(「inpStr:list」を「putStrLn inpStr」に置き換えると、すべての行が正しく表示され、すべての行が表示されるため、すべての行が取得されることがわかっています)、リストに挿入しますが、次のエラーが発生します:

おそらく、hGetLine が文字列ではなく、リストに挿入できる適切な文字列を取得するために処理する方法がわからない IO 文字列であるためです。これをどのように解決できるか、または問題が正確に何であるかはわかりませんが、ファイル内のすべての行を適切にリストに入れる方法を知っている人がいれば、感謝します。

前もって感謝します!

0 投票する
8 に答える
6328 参照

shell - MSYS シェルをめぐる騒ぎ - 交換可能ですか?

MSYS 用のサービス可能なシェルが必要です。これは私の現在のジレンマです:

デフォルトの rxvt.exe にはスクロール バーとコピー アンド ペーストがありますが、制御文字や矢印キーをシェルで実行中のプログラム (インタープリター/デバッガーなど) に送信しません。Haskell インタプリタ ghci を使用する場合、これは本当に厄介です。

もう一方のシェル sh.exe は制御文字 (または少なくともその一部) を処理しますが、スクロール バーやコピー アンド ペーストはありません。

rxvtには、出力バッファリングに関する(比較的)より多くの問題もあります

私のオプションは何ですか?代替シェルは msys 対応である必要がありますか? 私が望むのは、Haskell (ghc)、C++ (gcc)、および基本的なツール チェーン (make とその他) で動作する健全な環境だけです。クレイジーな悪ふざけがなければ、シェルをコンパイルするつもりです。

0 投票する
2 に答える
1249 参照

graphics - Functional MetaPost からの出力 .mp ファイルを表示する方法

Mac OS X で Functional MetaPost を使用することに興味があります。

http://cryp.to/funcmp/

次のようなチュートリアルを探しています。

http://haskell.org/haskellwiki/Haskell_in_5_steps

しかし、些細な FuncMP の例、つまり GHC を使用する場合、次のような単純なものをコンパイルできます。

しかし、この foo.1.mp 出力を表示する方法がわかりません。('virmp' が見つからないという実行時エラーが発生します。私の MetaPost バイナリは 'mpost' です。このパラメーターをオーバーライドする方法や、.FunMP ファイルが何を行っているか、何をすべきかがわかりません...) 実行できますその上でmpostしますが、出力(foo.1.1)は何ですか、PostScriptですか?EPS? これをどのように使用しますか?(EPS図などを含む単純なLaTeXファイルが必要だと思います...)

できれば、出力 (表示できる .ps または .pdf) を生成したいので、実際にFunctional MetaPostを使用して学習し、操作し、パスやバイナリ、シェル コマンドに頭を悩ませることはありません。

0 投票する
7 に答える
5559 参照

haskell - folderr を使用して zip を実装する

私は現在、Real World Haskell の第 4 章に取り組んでおり、 foldr に関して foldl を実装することに頭を悩ませようとしています。

(これが彼らのコードです:)

同じ手法を使って実装しようと思っzipたのですが、進展がないようです。それは可能ですか?