• [解決済み】Haskell/GHCの`forall`キーワードは何をするのですか?

    質問 の仕組みが分かってきました。 forall というキーワードは、いわゆる「実存型」で使われます。 data ShowBox = forall s. Show s => SB s しかし、これはあくまでサブセットに過ぎません。 forall このような使い方は、私には理解できません。 runST :: forall a. (forall s. ST s a) -&gt

    2022-05-03 22:33:52
  • [解決済み】Haskellの入門編

    質問 <パス この質問の回答は 社会貢献 . この記事を改善するために、既存の回答を編集します。現在、新しい回答やインタラクションを受け付けていません。 ここ数日、Haskellの関数型プログラミングのパラダイムについて、頭を整理しようとしている。チ

    2022-05-01 07:12:09
  • [解決済み】Haskell の `data` と `newtype` の違いについて

    質問 このように書くと何が違うのでしょうか? data Book = Book Int Int 対 newtype Book = Book (Int, Int) -- "Book Int Int" is syntactically invalid 解決方法は? いい質問ですね。 いくつかの重要な違いがあります。 表現方法 A newtype は、ラッ

    2022-04-17 07:59:52
  • [解決済み】テンプレートHaskellで関連する型の同義語を取得する

    質問 Template Haskellは型クラスで宣言された関連する型同義語の名前と宣言を見つけることができますか? 私は期待した reify は、私が望むことをやってくれるのですが、必要な情報をすべて提供してくれるわけではなさそうです。 関数型のシグネチャを得るには有効です。 % ghci GHCi, version 7.8.3: http://www.haskell.org/g

    2022-04-17 06:46:42
  • [解決済み】なぜモナドが必要なのか?

    質問 私の考えでは、有名な質問に対する答えは モナドとは何ですか? 特に、最も多く投票されたものは、モナドとは何かを明確に説明することなく、モナドを説明しようとしています。 モナドが本当に必要な理由 . 問題解決として説明できるのか? どのように解決するのか? なぜモナドが必要なのか? プログラミングをしたい 関数だけを使う . ("関数型プログラミング(FP

    2022-04-17 01:21:55
  • [解決済み】-XAllowAmbiguousTypesはいつが適切ですか?

    質問 私は最近 質問 について 構文2.0 の定義について share . で動作させたことがあります。 GHC 7.6 : {-# LANGUAGE GADTs, TypeOperators, FlexibleContexts #-} import Data.Syntactic import Data.Syntactic.Sugar.BindingT data

    2022-04-11 13:06:44
  • [解決済み】一般的なHaskellの演算子で発音可能な名前はありますか?[クローズド]

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

    2022-04-11 05:27:29
  • [解決済み】Not a Functor/Functor/Applicative/Monadの良い例?

    質問 型クラスXが何であるかを誰かに説明するとき、まさにXであるデータ構造の良い例を見つけるのに苦労しています。 そこで、私は次のような例をリクエストしています。 ファンクターでないタイプコンストラクタ。 ファンクターでありながら、Applicativeではないタイプ・コンストラクター。 Applicative でありながら Monad ではないタイプコンストラクタ。

    2022-04-08 22:57:03
  • [解決済み】Template Haskellの何がそんなに悪いのか?

    質問 Haskellコミュニティでは、Template Haskellは不幸な利便性と捉えられることが多いようです。この点に関して私が観察したことを正確に言葉にするのは難しいのですが、以下のいくつかの例を考えてみてください。 Template Haskellは、"The Ugly (but necessary)"にリストアップされ、質問に答えています。 Haskell (GHC) の

    2022-04-04 13:02:09
  • [解決済み】Haskell: リスト、配列、ベクトル、シーケンス

    質問 Haskellを学んでいて、Haskellのリストと(あなたの言語を挿入してください)配列のパフォーマンスの違いに関するいくつかの記事を読みました。 学習者である私は、当然ながら性能の違いについて考えることなく、ただリストを使っています。 最近調べ始めたら、Haskellで利用できるデータ構造ライブラリがたくさんあることがわかりました。 リスト、配列、ベクトル、シーケンスの違い

    2022-04-01 12:34:57
  • [解決済み】Haskellの宣言におけるエクスクラメーションマークの意味とは?

    質問 実際のプロジェクトを使ってHaskellを学ぼうとしたところ、次のような定義に出会いました。 各引数の前にある感嘆符の意味がわからないのですが、私の本では触れていないようです。 data MidiMessage = MidiMessage !Int !MidiMessage 解決方法は? 厳密性宣言です。基本的には、データ構造の値を生成するときに、いわゆる "弱いヘッド正規

    2022-03-31 06:23:57
  • [解決済み】代数的なデータ型の代数を悪用する - なぜこれが有効なのか?

    質問 代数的なデータ型に対する「代数的」な表現は、数学のバックグラウンドを持つ人には非常に示唆に富むものに見えると思います。どういう意味か説明してみよう。 基本的な型を定義した上で 製品 • ユニオン + シングルトン X 単位 1 という略記を使用し X² に対して X•X と 2X に対して X+X などの代数的な表現を定義することがで

    2022-03-28 09:35:22
  • [解決済み】Weak Head Normal Formとは何ですか?

    質問 って何? 弱頭正常形 (WHNF)とはどういう意味ですか?また ヘッドノーマル形式 (HNF)と 正規形 (NF)とはどういう意味ですか? リアルワールドハスケル の状態になります。 おなじみの  seq  関数は、式を評価し と呼ぶ  主正規形  (HNFと略す)。HNFは一旦停止します。 は、一番外側

    2022-03-28 08:42:13
  • [解決済み] Haskell takeWhile + 1

    質問 条件にマッチしない最初の要素を保持するtakeWhileはどのように書けばいいのでしょうか? 例(明らかに私の例はこれよりトリッキーです): の代わりに takeWhile (\× - > x! = 3) [1..10] を返すように [1,2] 必要なのは [1,2,3] . 私が考えたのは (takeWhile myFunc myList) ++ [

    2022-03-01 11:43:38
  • [解決済み] HaskellでIntからsqrtを取得する

    質問 どうすれば sqrt から Int . そう心がけています。 sqrt . fromInteger x しかし、型の互換性でエラーが発生します。 どうすればいいですか? 使用方法 fromIntegral : Prelude> let x = 5::Int Prelude> sqrt (fromIntegral x) 2.2360679774

    2022-02-28 17:38:28
  • [解決済み] Haskellにおける除算

    質問 Haskellでリストの偶数個だけを半分にする関数を作っているのですが、問題が発生しました。コンパイラを実行すると、intの除算はできない、fractional intの型宣言が必要だと文句を言われます。型宣言をfloatに変更してみましたが、別のエラーが発生するだけでした。以下に関数のコードを記載しますが、どのような形であれ、助けを求めています。 halfEvens :: [Int

    2022-02-27 10:53:28
  • [解決済み] Haskellの[]と':'とは何ですか?

    質問 こんなの見たことある '[] と ': のようなヘテロジニアスリストパッケージを中心に、いくつかの場所で構文が使用されています。 HList または HVect . 例えば、ヘテロジニアスベクトル HVect は次のように定義されます。 data HVect (ts :: [*]) where HNil :: HVect '[] (:&am

    2022-02-26 21:44:36
  • [解決済み] Haskellでwhileループに相当する文は何ですか?

    質問 Haskellの初心者なので、1)ある基準が満たされるまで何かを計算し、2)計算された値を返すにはどうしたらいいのか、疑問に思っています。 私が知っている言語では、そのためにwhileループを使用します。Haskellではどうやるのでしょうか? どのように解決するのですか? を使用する必要があります。 再帰 : func :: <function type&gt

    2022-02-25 08:16:51
  • [解決済み] haskellでCharからIntに変換する

    質問 文字列(数字)を個々の数字に変換しようとしています。これを解決する方法は複数あり、その1つは map digitToInt "1234" 似たような方法を試していたのですが、その代わりに digitToInt を使おうとしていました。 read::Char->Int 関数を使用します。しかし、私は上記のように使用すると、コンパイルエラーが発生します。 map (rea

    2022-02-24 10:20:13