• [解決済み] mtl、トランスフォーマー、monads-fd、monadLib、そして選択のパラドックス

    質問 Hackageにはモナド変換のためのパッケージがいくつかあります。 mtl : モナドトランスフォーマーライブラリ トランスフォーマー : 具体的なファンクタやモナドのトランスフォーマー monads-fd : モナドクラス、関数従属を使用 monads-tf : モナドクラス、タイプファミリーを使用 モナドリブ : モナドトランスフォーマーの

    2023-02-08 06:53:07
  • [解決済み] ハスケルでControl.Monad.Writerを遊ぶには?

    質問 私は関数型プログラミングの初心者で、最近、以下のサイトで学びました。 ハスケルを学ぶ で学習中ですが この章 を読み進めると、下のようなプログラムに引っかかってしまいました。 import Control.Monad.Writer logNumber :: Int -> Writer [String] Int logNumber x = Writer (x,

    2023-02-06 10:35:21
  • [解決済み] Haskellのドット演算子:もっと説明が欲しい

    質問 このHaskellのコードでドット演算子が何をしているのか理解しようとしています。 sumEuler = sum . (map euler) . mkList ソースコード全体は以下の通りです。 私の理解 ドット演算子は、2つの関数 sum の結果であり map euler の結果と mkList を入力とする。 しかし sum は関数ではありません

    2023-02-01 20:57:53
  • [解決済み] Haskellには末尾再帰的最適化があるか?

    質問 今日、unixの"time"コマンドを発見し、Haskellの末尾再帰関数と通常の再帰関数の実行時間の違いをチェックするためにそれを使用しようと思いました。 以下のような関数を書きました。 --tail recursive fac :: (Integral a) => a -> a fac x = fac' x 1 where fac' 1 y = y

    2023-01-25 08:30:08
  • [解決済み] fixの使い方、効果について教えてください。

    質問 のドキュメントを読んでいて、ちょっと混乱しました。 fix のドキュメントを読んで少し混乱したので (今となっては何をするものなのか理解しているつもりですが)、ソースコードを見てみました。 それは私をさらに混乱させたままにしておきました。 fix :: (a -> a) -> a fix f = let x = f x in x これは具体的にどのように定点を返す

    2023-01-13 20:07:55
  • [解決済み] 型チェッカーは非常に間違った型置換を許可しているが、プログラムはまだコンパイルできる

    質問 私のプログラムの問題 (半径が等しい 2 つの円が異なる大きさで描画される) をデバッグしようとしているときに、Gloss * を使用して、半径が等しい 2 つの円が異なるサイズで描画される) をデバッグしようとしているときに、奇妙な状況に出くわしました。オブジェクトを処理するファイルで、次のように Player : type Coord = (Float,Float) data

    2023-01-01 01:39:45
  • [解決済み] 関数型プログラミングを実世界で使うには?[クローズド]

    質問 終了 . この質問はもっと必要です を重視します。 . 現在、回答は受け付けていません。 この質問を改善したいですか? 質問を更新して、1つの問題だけに焦点を当てるようにします。 この投稿を編集する .

    2022-12-21 16:54:03
  • [解決済み] Data.Voidの不条理な関数って何に使うの?

    質問 その absurd の中の関数 Data.Void は次のようなシグネチャを持っています。 Void はそのパッケージによってエクスポートされた論理的に無人の型です。 -- | Since 'Void' values logically don't exist, this witnesses the logical -- reasoning tool of \"ex f

    2022-12-21 14:59:30
  • [解決済み] Haskellプログラムのパフォーマンス解析ツール

    質問 Haskellの勉強のためにProject Euler問題を解いているうちに(だから私は現在全くの初心者です)、次のようなことに出会いました。 問題12 . この(素朴な)解答を書きました。 --Get Number of Divisors of n numDivs :: Integer -> Integer numDivs n = toInteger $ length [

    2022-12-05 09:57:20
  • [解決済み] インデックス付きモナドとは?

    質問 この質問は インデックス付きモナド とこのモナドの動機は何ですか? 私はそれが副作用を追跡するのに役立つと読んだことがあります。しかし、型署名とドキュメントは私をどこにも導きません。 副作用を追跡するのに役立つ例(または他の有効な例)は何でしょうか? どのように解決するのですか? これまでと同様、人々が使用する用語は完全に一致しているわけではありません。モナドに

    2022-11-29 09:35:45
  • [解決済み] Real World Haskellのどの部分が今となっては時代遅れ、あるいはバッドプラクティスと考えられているのでしょうか?

    質問 の19章で リアルワールドハスケル の変更により、多くの例が失敗するようになりました。 Control.Exception . そう考えると、この本に書かれていることのいくつかは、実はもう時代遅れで勉強する価値がないのかもしれませんね、何しろもう6年も経っているのですから。私の他の唯一の参考文献は を学ぶ Haskell For Great Good」です。 ですが、

    2022-11-24 01:40:04
  • [解決済み] Haskellの合成演算子(.)とF#のパイプ転送演算子(|>)の比較

    疑問点 F#では、パイプフォワード演算子を使用します。 |> を使うことはかなり一般的です。 しかし、Haskellでは、関数の合成しか見たことがない。 (.) が使われているのを見たことがあります。 私は、それらが 関連 というのはわかるのですが、Haskellでパイプフォワードが使われないのは言語的な理由があるのでしょうか、それとも何か他の理由があるのでしょうか? どのよ

    2022-11-13 18:55:08
  • [解決済み] Haskell の現在のモジュールにインポートモジュールを追加してエクスポートする。

    質問 Haskellで、あるモジュールを再エクスポートするモジュールを書くことは可能ですか? 見える をエクスポートするモジュールを書くことはできますか? 次のようなモジュールを考えてみましょう。 module Test where import A f x = x このモジュールはすべてをエクスポートします 定義された の中にあるものをエクスポートします。 f

    2022-11-11 16:55:03
  • [解決済み] Haskellのprintfはどのように動作するのですか?

    質問 Haskellの型安全性は2番目です。 に劣ります。 に次ぐものです。しかし Text.Printf にはいくつかの深いマジックがあり、それはむしろタイプウォンキーのようです。 > printf "%d\n" 3 3 > printf "%s %f %d" "foo" 3.3 3 foo 3.3 3 この背後にある深い魔法とは何でしょうか?どのようにし

    2022-11-05 05:40:01
  • [解決済み] HaskellのComonad型クラスとは何ですか?

    質問 HaskellのComonad型クラスとは何ですか?からComonadのように comonad パッケージの Control.Comonad を参照してください。 (Comonad型クラスを提供する他のパッケージの説明も歓迎します)。Comonad については何となく聞いたことがあるが,私が本当に知っているのは,このパッケージが extract :: w a -> a

    2022-11-02 11:28:14
  • [解決済み] Haskellってなんで流行ってるの?[クローズド]

    質問 現在のところ、この質問は私たちのQ&A形式には適していません。私たちは回答が事実、参考文献、専門知識によって裏付けられていることを期待していますが、この質問はおそらく討論、議論、投票、または拡大した議論を求めるものでしょう。この質問を改善し、再開できる可能性があると思われる場合 ヘルプセンターへ をご覧くだ

    2022-11-01 06:48:41
  • [解決済み] Haskellのmapにはfmapがあるのに、何の意味があるのだろう?

    質問 どこもかしこも map , fmap も同様に機能しました。Haskellの作者たちは、なぜ map 関数が必要だったのでしょうか?現在知られているものだけではだめだったのでしょうか? fmap と fmap は言語から削除される可能性がありますか? どのように解決するのですか? を注目させるような回答をしたいのですが。 augustssさんのコメント :

    2022-10-14 23:07:54
  • [解決済み] Haskellの「何もしない」関数、idはなぜ大量のメモリを消費するのか?

    質問 Haskellには、入力を変更せずに返すidentity関数があります。定義は簡単です。 id :: a -> a id x = x というわけで、面白いことに、このように出力されるはずです。 8 : f = id id id id id id id id id id id id id id id id id id id id id id id id id id id

    2022-09-28 03:20:10
  • [解決済み] Haskellの派生はどのように行われるのですか?

    質問 代数的 データ型 (ADT)のインスタンスになることができます。 型クラス のような)。 Show , Eq ) による 導出 である。 data Maybe a = Nothing | Just a deriving (Eq, Ord) 質問ですが、この deriving はどのように機能するのか、つまり、Haskell はどのように派

    2022-09-26 18:50:47
  • [解決済み] <*>は何と呼ばれ、何をするのですか?[クローズド]

    質問 終了 . この質問は オピニオンベース . 現在、回答は受け付けておりません。 終了 4年前 . ロックされています。 . この質問とその回答は ロックされている というのも、この質問はトピックから外れていますが、歴史的な

    2022-09-22 16:26:15