Hedgehogは、次のように定義されたHTraversableクラスがあります。値はコンクリートや抽象的であるかどうかを超えるタイプをパラメータ化するために彼らのVarタイプで使用されて -- | Higher-order traversable functors.
--
class HTraversable t where
htraverse :: Applicative f =
TLを使用して、DRを:それは/いずれかの任意newtype(すなわち、このような抽象化のインスタンスを提供する)アンラップラップする抽象化のlensファミリーのいずれかを使用することが可能ですか? 私は真実の物語に基づいて簡単な例で私の質問を動機づけます。フォームの条件を表すために使用される newtype FreeMonoid a = FreeMonoid { asMap :: Map a I
私は、次のテストパスを作成したいと思います: it "can rewrite a field from an object" $ do
let _42 = 42 :: Int
nested = object [ "foo" .= _42, "baz" .= object [ "bar" .= _42 ] ]
]
rewrite "bar
レコード内の特定の値に基づいて並べ替えを実行したいと思います。そのような私はlensSort機能にレンズを渡すことを考えていたが、私はそれを動作させることができませんでした。 理想的には私は私はこの作業を取得することができないんだ、と心配私は吠えされる可能性があります。この lensSort :: HasLens a => Lens' a b -> a -> a -> -> Ordering
l