monoids

    5

    1答えて

    ひどいタイトルに申し訳ありません。私はタイプをラップするMonadのApplicativeのインスタンスを作成しようとしています。 instance (Monad m, Monoid o) => Applicative (m o) where pure x = return mempty xm <*> ym = do x <- xm y <- ym

    3

    1答えて

    ReadmeのHLearnには、並列バッチトレーニングにMonoid typeclassが使用されていると記載されています。私はいくつかのファイルに記載されているtrainMonoidを見ましたが、私はこの巨大なコードベースを解読するのが難しいです。誰かが初心者に親しみやすい言葉で説明することができますか?私はそれが何らかの形で結合性の性質に関係していると思います。

    8

    2答えて

    SceneGraphタイプのフィールド '_scene'を持つレコードで、以下のコードを使用しています。私はmakeLensesを使ってレンズを作りました。 inputGame :: Input -> Game -> Game inputGame i g = flip execState g $ do let es = g ^. userInput . events sg

    2

    2答えて

    問題 与えられたデータ型では、Semigroupインスタンスを実装します。実装するデータ型は data Or a b = Fst a | Snd b deriving (Eq, Show, Num)です。そして、それはそうのように機能する必要があります Prelude> Fst 1 <> Snd 2 Snd 2 Prelude> Fst 1 <> Fst 2 Fst 2 Prelude>

    13

    3答えて

    boostや他の一般的なC++ライブラリでは、semiringまたはmonoid抽象クラス(テンプレートクラスなど)を提供していますか? 私はこれらの抽象的な構造に関して表現したいいくつかのアルゴリズムを持っていますが、これまで何も出てこなかったのです。私は自分自身を書くことができますが、理想的には、私は既にブーストのようなものを使っている図書館にいます。 ありがとうございます!

    6

    1答えて

    foldrおよびfoldMapは、私が理解するようにお互いを定義するために使用できます。しかし、後者はモノイドを使用するので、前者はできませんが、どのように可能ですか? foldrの作品がモノイドを持つことができるという保証はありますか?

    10

    3答えて

    が手で定義するのは簡単で、基本的に maybeCombine :: (a->a->a) -> Maybe a -> Maybe a -> Maybe a maybeCombine _ Nothing Nothing = Nothing maybeCombine _ (Just a) Nothing = Just a maybeCombine _ Nothing (Just a) = Just

    18

    2答えて

    GHCには、DeriveFunctor,DeriveDataTypeableなどのようないくつかの言語フラグがあり、Haskell 98で許可されている以外の型クラスの派生インスタンスのコンパイラ生成を可能にします。これは、Functorのようなものに対して特に意味があります。明らかに自然な派生インスタンスを指示します。 なぜ、Monoidはありませんか?これは、単一のデータコンストラクタを持つ任

    9

    3答えて

    私はcyclic groupで整数計算を行う大学の小さなライブラリに取り組んでいます。以下のようなもの: (3 (% 11)) + (10 (% 11)) --> (2 (% 11)) '整数(%n)は'は明らかに識別素子として'0(%n)が' と付加下モノイドを形成します。しかし、加算は、加算される2つのオペランドのモジュロが同じである場合にのみ意味をなさない:a (% n) + b (%

    0

    1答えて

    私は、comparables要素を含むFoldableストラクチャに適用可能なmonoidであるmonoidのインスタンスを作成しようとしており、保存されたmaximun値を返します。 これまでのところ、私はこの import Data.List import Data.Functor import Data.Monoid import Data.Foldable import Data.