lens

    0

    1答えて

    Linear.V型のnewtypeラッパーを作成し、有用なインスタンスを導出しようとしています。私はこれをしようとしていた。 {-# LANGUAGE DataKinds, PolyKinds, ScopedTypeVariables, StandaloneDeriving, FlexibleContexts, UndecidableInstances, GeneralizedNewtypeD

    3

    1答えて

    Hedgehogは、次のように定義されたHTraversableクラスがあります。値はコンクリートや抽象的であるかどうかを超えるタイプをパラメータ化するために彼らのVarタイプで使用されて -- | Higher-order traversable functors. -- class HTraversable t where htraverse :: Applicative f =

    6

    1答えて

    を成功した場合にのみ、私は次のリスト持っている想像してみて成功する:レンズのライブラリを使用してが lst :: [(Bool, Maybe Integer)] lst = [(True, Just 3), (True, Nothing), (False, Just 12)] 、私はタプルの要素を抽出したいのが、私はそれが成功したいです2番目の要素がJustの場合 > lst ^.. fol

    2

    1答えて

    私はリストを持っているとしましょう。[A]ある述語を満たす場合、リストの特定の要素を更新したい。しかし、そのような要素がなければ、最初にリストに要素を追加したいと思います。私の現在の解決策は、そこにない場合はリストに要素を挿入する関数を手動で記述し、要素を更新するにはfiltered Traversalを使用することです。このように: もっと良い(もっと短い、より慣用的な)ソリューションがあるのだ

    0

    1答えて

    TLを使用して、DRを:それは/いずれかの任意newtype(すなわち、このような抽象化のインスタンスを提供する)アンラップラップする抽象化のlensファミリーのいずれかを使用することが可能ですか? 私は真実の物語に基づいて簡単な例で私の質問を動機づけます。フォームの条件を表すために使用される newtype FreeMonoid a = FreeMonoid { asMap :: Map a I

    2

    1答えて

    私は、次のテストパスを作成したいと思います: it "can rewrite a field from an object" $ do let _42 = 42 :: Int nested = object [ "foo" .= _42, "baz" .= object [ "bar" .= _42 ] ] ] rewrite "bar

    -1

    2答えて

    私はハスケルを新しくしました。私は、コードhereを読んでいたし、私は何をすべきかuses(私が推測することができますが)わからない: inRange <- uses fsCurrentCoinRangeUpperBound (coinIndex <=) また、なぜ<-が使用されていますか? "Haskellでのコントロールレンズの使用"を検索しましたが、何の説明も見つかりませんでした。

    3

    2答えて

    レコード内の特定の値に基づいて並べ替えを実行したいと思います。そのような私はlensSort機能にレンズを渡すことを考えていたが、私はそれを動作させることができませんでした。 理想的には私は私はこの作業を取得することができないんだ、と心配私は吠えされる可能性があります。この lensSort :: HasLens a => Lens' a b -> a -> a -> -> Ordering l