問題タブ [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.
haskell - Haskellで親プロセスとフォークされた子プロセスの間でデータを共有するにはどうすればよいですか?
そもそも Haskell を使用して子プロセスをフォークするにはどうすればよいでしょうか?
また、パイプがデータ共有の質問に対する明らかな解決策である場合、パイプを使用する以外にそれを行う方法はありますか? 私は、C での共有メモリ セグメント (shmget、*shmat、shmdt、および shmctl 関数) の使用に精通しています。Haskell はこれを真似できるでしょうか? もしそうなら、どのように?
お手数をおかけいたしますが、何卒よろしくお願いいたします。
私は関数型プログラミング言語に非常に慣れていないことを認めなければなりません。Haskell に関してはなおさらです。だから私がばかげたことを言ったら、私を許してください(そして私を訂正してください).
haskell - 遅延評価が役立つのはなぜですか?
なぜ遅延評価が便利なのか、私は長い間疑問に思っていました。理にかなった方法で私に説明してくれる人はまだいません。ほとんどの場合、それは「私を信頼してください」に要約されます。
注: メモ化という意味ではありません。
haskell - runhaskell でスタックサイズを増やすにはどうすればよいですか?
Project Eulerの問題のいくつかを解決するために、いくつかの使い捨て Haskell スクリプトを作成しています。常に変更を加えなければならないので、コンパイルする必要はありませんが、いくつかのケースでは、スタック領域が不足していることに気付きました。
のドキュメントにrunhaskell
は、次の構文でスタック スペースを増やす必要があると記載されています。
これは決して機能しません(私が試した順列では)。スタック サイズは常に 8,388,608 のままです。これは腹立たしいことです。Google ではあまり役に立ちませんでした。
助言がありますか?私は何を間違っていますか?
algorithm - 関数型言語 (Haskell) の高速要素検索
グラフをトラバースしていて、ノードが以前に見られたかどうかをすばやく判断したいとします。いくつかの前提条件が設定されています。
- ノードは整数値 1..N でマークされています
- グラフは、隣接リストを持つノードで実装されます
- 1..N のすべての整数値がグラフに出現し、サイズは N です。
純粋に機能的な方法でこれを行うためのアイデアはありますか?(ハッシュテーブルまたは配列は許可されていません)。
2 つの関数が動作するデータ構造が必要です。add (遭遇した整数を追加) および lookup (整数が追加されたかどうかをチェック)。どちらも、N回の繰り返しで償却されるO(n)時間かかることが望ましいです。
これは可能ですか?
haskell - 関数型プログラミングの初心者
ねえ、私は本当に Haskell に慣れていないので、これまでずっと古典的なプログラミング言語を使ってきました。ここで何が起こっているのかわかりません。非常に単純なビタビ アルゴリズムの実装を作成しようとしていますが、2 つの状態 (正直なカジノと不誠実なカジノ) のみです。
配列に対処したいという問題がありますが、型を正しく取得しているとは思いません。それか、私はそれに対処しようとするたびに新しい配列を作成しています-同様に愚かです。特にmyArray、te infix、およびdynamicProgramを見てください。かなりきれいにしてください
search - Haskell のいくつかの要素に対して二分探索を行う
Haskell の宿題の最後の部分を完了しようとしていますが、これまでのコードで行き詰まっています。
質問は尋ねます:
英文 'english' を取得し、二分探索を使用して英仏辞書の各単語を検索し、単語ごとの置換を実行し、フランス語の翻訳を組み立てて出力する Haskell プログラムを作成します。
関数 'quicksort' は重複するエントリを ('error'/abort で) 拒否するため、英語の単語に対して正確に 1 つのフランス語の定義が存在します。元の 'raw_data' と '("saves", "sauve")' を 'raw_data' に追加した後の両方で 'quicksort' をテストします。
これは、二分探索のフォン ノイマン遅延停止バージョンです。Haskell へのリテラル音訳を行います。Haskell バージョンは、入力直後に再帰的な「ループ不変条件」を検証する必要があり、保持できない場合は「エラー」/中止で終了します。英単語が見つからない場合も同様に終了します。
ハスケル版では
タイプ '[Entry]' の定数辞書 'a' はグローバルに可視であるためです。ヒント: 「binsearch」と入力したら、すぐに文字列 (英単語) を「エントリ」にします。
高水準データ型 'Entry' のプログラミング値は、整数に対してこれら 2 つの関数を設計できれば、それらを持ち上げて Entry を操作するのは簡単だということです。
バイナリサーチ機能をどのように使用するべきか知っている人はいますか?
string - 行ごとの Haskell 文字列リスト
行機能を使用して、入力を取得し、関数に送信する前に多くの変数を分割しています。run 関数を見て、次のエラーが発生する理由を教えてください。ln の最初の文字列を seq に代入すればよいようですが、エラーが発生します。
haskell - Haskell IO と終了ファイル
Haskell で読み取り用にファイルを開くと、ファイルを閉じるとその内容を使用できないことがわかりました。たとえば、次のプログラムはファイルの内容を出力します。
putStr
行と行を入れ替えhClose
ても効果はないと思っていましたが、このプログラムは何も出力しません。
なぜこれが起こるのですか?遅延評価と関係があるのではないかと思いますが、これらの式は順序付けされるので問題ないと思いました。のような関数をどのように実装しますreadFile
か?
haskell - Haskellで生産的になるにはどのくらいの数学が必要ですか?
私は(コースを通してではなく)自分の時間でHaskellを学ぶことに興味がありますが、私の数学のバックグラウンドは重要な言語の概念(TBD)を理解するには不十分かもしれないと思います。
私は大学の微積分(単一変数)を1年間経験しましたが、離散数学や論理はありませんでした。
数学のギャップにぶつかるでしょうか?
windows - Windows セットアップの Haskell
残念ながら、職場や自宅で *nix ボックスにアクセスできません。Haskell で遊ぶことができる唯一の方法は Windows です。ここで Windows で Haskell を使っている人はいますか? あなたの設定は何ですか?